Ubuntu下APK文件反汇编

最近想研究一下qtadb,所以想得到qtadb.apk的源码,可惜网上没有给现成的,好在是java写的,反汇编一下可以凑合。具体方法如下:

1.解压APK文件

7z qtadb.apk -oqtadb

可以得到一个叫 classes.dex的文件,这个文件中就是油java文件编译成的class文件的合集了

2.生成jar文件

使用dex2jar生成包含class文件的jar。

dex2jar.sh qtadb/classes.dex

dex2jar下载地址:http://code.google.com/p/dex2jar/

3.使用jd-gui获得源码

jd-gui是个图形化的将jar中的class文件转化为java代码的程序。

直接打开由dex2jar生成的jar文件,然后保存源代码即可。

继续阅读 Ubuntu下APK文件反汇编

更换驱动解决Ubuntu 11.10下Adobe Flash Player崩溃

  • Post author:
  • Post category:Ubuntu
  • Post comments:3评论

最近更新到Ubuntu11.10后adobe flash player开始不断崩溃,根据一些表现推断是硬件加速除了问题,正好碰上捣鼓Nvidia GT240的驱动,终于发现通过更换驱动能解决问题,下面的方法就简单了。

1.切换到tty1

Ctrl+Alt+F1

2.登录
输入用户名+“回车”+密码登录

3.停止X server

sudo services ligthdm stop

4.安装Nvidia驱动
可以安装软件源中的nvidia-current驱动

sudo apt-get install nvidia-current

也可以去Nividia 官网下载二进制驱动包NVIDIA-Linux-x86-290.10.run安装。目前测试只有这个版本的驱动工作的比较好,NVIDIA- Linux-x86-295.20的驱动会导致屏幕分裂,而其他几个版本的驱动会导致flash player崩溃。更早的版本没有测试。另外主要的是内核版本也会有影响,我现在用的的3.0.0.16的内核,ppa上3.2的版本和二进制驱动不兼 容。
安装方法:

sudo ./NVIDIA-Linux-x86-290.10.run

5.重新启动X server

sudo services ligthdm start

6.切换回GUI

Ctrl+Alt+F7
继续阅读 更换驱动解决Ubuntu 11.10下Adobe Flash Player崩溃

Ubuntu 11.10 启动美化

一、安装burg系统引导器

1.从PPA源安装burgs

sudo add-apt-repository ppa:n-muench/burg
sudo apt-get update
sudo apt-get install burg burg-themes

安装burg引导

sudo burg-install "(hd0)"

或者

sudo burg-install /dev/sda

更新burg配置文件

sudo update-burg

2.隐藏启动提示“grub loading”

burg启动时会提示“grub loading”,是在是太碍眼,要去掉这个稍微有点麻烦,需要重新编译burg。

需要修改的源代码详见:

http://code.google.com/p/burg/issues/detail?id=29&q=grub%20loading

可使用

sudo apt-get source burg

来获取burg源代码。注意代码中可能有bug……

3.修复plymouth主题

burg和plymouth主题兼容不是很好,需要使用以下方法修复:

二、配置plymouth主题

配置plymouth方法较为简单,主要替换相应的默认plymouth主题文件即可。

sudo update-alternatives --config default.plymouth

sudo update-initramfs -u

三、ligtm配置

自ubuntu11.10中,ligtm配置在/etc/lightdm文件夹下,主要修改unity-greeter.conf,里面内容非常简单,看着说明修改就行了,主要是修改背景和logo文件。

继续阅读 Ubuntu 11.10 启动美化

SQLite指南-Ubuntu篇

SQLite是一个轻量级数据库系统,SQLite基于纯C实现,具有良好的跨平台特性。SQLite使用简单,能够应付小型的软件开发应用。在开发中使用SQLite,你需要从SQLite官方网站下载源码和库文件,当然,也可以自己编译库文件。

一、下载SQLite源码

这里获得SQLite源码,解压到任意目录。

二、编译静态库文件

首先生成目标文件

gcc -c sqlite3.cc -o sqlite3.o 

从目标文件生成静态库

ar cvr libsqlite3.a sqlite3.o 

使用静态库文件生成目标 假设在SQLiteDBTest.cpp文件中使用了sqlite的相应接口,静态编译的方法如下:

gcc SQLiteDBTest.cpp libsqlite3.a -lpthread -ldl -lstdc++ -o SQLiteDBTest

其中,-lpthread -ldl参数指定了sqlite使用的线程库和dl库(参见http://www.sqlite.org/howto compile.html),lstdc++指定使用标准C++库。

三、编译动态库文件

生成动态库文件

gcc -shared -fPCI -o libsqlite3.so sqlite3.o -ldl -lpthread 

注意链接参数-ldl和-lpthread 使用动态库文件生成目标

gcc SQLiteDBTest.cpp -lsqlite3 -L. -lstdc++ -o SQLiteDBTest 

其中-L.参数指定gcc优先从当前目录搜索库文件,如果不加该行,则优先从系统目录搜索库文件。 一般开发过程中,如系统中自带sqlite库,一般不需要自行编译相应库文件。如若要使用自行编译的库文件,最好安装时将其拷贝到系统库目录中。不然的话,对于自行编译的动态库,需要指出其位置,程序才能正常运行,使用如下命令添加查找库文件位置。

export LD_LIBRARY_PATH=$(pwd)

REF:

1.How To Compile SQLite

2.gcc详解以及静态,动态库的生成 1

3.gcc详解以及静态,动态库的生成 2

继续阅读 SQLite指南-Ubuntu篇

Ubuntu禁用触摸板Indicator

  • Post author:
  • Post category:Ubuntu
  • Post comments:0评论

鉴于广大硬件厂商和设备制造商的不合作与无所谓态度,Linux下的笔记本驱动一直是个麻烦问题。虽然我使用的Ubuntu发行版本在驱动集成上已经做的很好了,不过我的小Y上的键盘快捷键却不能完全识别,比如原来按Fn+F6禁用触摸板,现在不能用了,每回关闭触摸板都要去修改“系统设置”,实在时麻烦。现在你可以试试这个touchpad-indicator,虽然不能完成Fn+F6快捷键禁用触摸板,但总比改“系统设置”方便了。

不多说,放PPA

sudo apt-add-repository ppa:atareao/atareao
sudo update
sudo apt-get install touchpad-indicator

安装之后可以设置Ctrl+Alt+<自定义按键>的快捷键来开启和关闭触摸板。

继续阅读 Ubuntu禁用触摸板Indicator

Ubuntu与Android系统的无线共享上网

网上关于使用Ubuntu共享无线的帖子很多,说法各不相同,我折腾了很久才让Defy能够使用上Ubuntu的无线。这里说说设置上的一些问题吧。

1.首先确保网卡支持无线共享
只有支持AP或者Master模式的网卡才能开启无线共享,如果你的网卡不支持,那就不必费功夫啦。使用iw查看无线网卡支持的模式。如下

iw list

在输出中找到“Supported interface modes:”这一行,如果下面列举的模式中含有AP或Master,那么你的网卡就能够支持无线共享。

        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
继续阅读 Ubuntu与Android系统的无线共享上网

LiveLinux系列(1)–基于Grub2的多分区USB启动盘制作

  • Post author:
  • Post category:Ubuntu
  • Post comments:5评论

系统: Ubuntu 10.10
工具: Disk Utility 2.30.1

Disk Utility 简介:
Disk Utility 是Ubuntu自带的一个图形化磁盘管理的工具,类似于Windows下面的PM,但是在熟悉了Disk Utility的使用后会发现它在功能及易用性上比PM等工具强上太多,我已经不由自主的喜欢上了这个工具。

继续阅读 LiveLinux系列(1)–基于Grub2的多分区USB启动盘制作

Mendeley for linux 高效管理文献

  • Post author:
  • Post category:Ubuntu
  • Post comments:3评论

Mendeley是一个跨平台的文献管理软件,主要用于PDF文件的管理。
Mendeley同时还拥有在线功能,在Mendeley网站上注册帐号后,可以将本地所谓配置文件同步到远程服务器上。同时,Mendeley也为用户提供里一些相应的网络服务,如建立自己的在线文献信息库等等。

由于教育网的原因,Mendeley的网络服务基本处于不可用的状态,对于想使用其离线功能的朋友,可以试试这里:
mendeleydesktop-0.9.8.1-linux-i486.tar.bz2

继续阅读 Mendeley for linux 高效管理文献