本演示基于qq v1.0目前的qq版本已经屏蔽掉这个方法了,此方法是为了告诉大家,在android市场上所谓的“汉化”软件是多么危险,很多用户在不经意间就中手机病毒,此方法仅供学习交流使用。
利用smali代码注入盗取qq号码
实验版本为手机QQ Android V1.0,在QQ客户端中嵌入一段代码,在用户用户输入的名和密码后截获用户输入并且将用户名和密码以短信形式发回自己的手机,获得用户的QQ号码和密码。
按照上面提到过的方法对腾讯公司的手机QQ进行反编译,得到smali文件夹AndroidManifest.xml和.jar文件对源码开始分析,找到插入smali代码的位置。
在AndroidManifest.xml中找到loginActivity类的路径:
得知实现登录的smali在com.tencent.qq下面的LoginActivity.smali中,打开反编译得到的.jar文件,找到LoginActivity.class阅读源码,我们能发现用户点下登录键之后的按钮响应事件的代码。
进入应用后用户点击登录的截图如下:
反编译后响应登录按钮的源码截图如下:
继续往下看源码我们可以发现程序得到用户QQ号和密码之后会转向LoginProcessActivity:
所以在对应的LoginActivity.smali中,我们可以修改smali代码使其转向自己写的一个Activity,从中获取用户名和密码,以短信形式发给自己的手机,然后再创建一个Intent转向程序原来的LoginProcessActivity.class这样就实现了QQ号码的盗取。
在IDE开发环境中创建一个Android工程,用于完成获取QQ密码并发送短信这一过程,为了更好的嵌入smali,新建工程的包名和qq保持一致: