首先先看看什么叫做Android的黑客技术效果:
游戏:修改正版apk代码,实现破解免支付买道具。
应用:修改添加自己的信息,和应用市场应用看起来一样
最近趁着清闲,学了段时间的Android逆向技术,发现了新世界,所以现在就算手机app也是可以像电脑exe一样,实现破解绿色版本,或者病毒版本,然后就可以嘿嘿嘿了。
二次修改apk地址:链接:(不好意思,公共场合我们是正经的开发人员)
接下来讲讲实现核心,脱壳和smali代码。
前言
现在市场中加固apk的方式主要是360加固,其次还有乐固,爱加密,娜迦加固等,替换dex包,更换加载入口的方式,而360加固将入口的activity的oncreate()方法直接更换成native方法,存在到libjiagu.so中对入口进行篡改,还需要通过ida工具来分析。
----dumpDex脱壳apk,在root+xpose的手机上安装,实现脱壳获取dex
下载地址:https://github.com/WrBug/dumpDex
使用方式
下载源码编译或者下载apk包并安装,应用xposed模块后重启,运行加固的应用后,插件会自动将dex文件dump到 /data/data/包名/dump 目录
二、脱壳过程
-----全选复制到图片的目录
通过共享文件,在新弹窗中 打开电脑的目录,拿到dex文件
-----------------------------windows10反编译工具Jadx-----------------------
在gitbash命令窗口中
git clone https://github.com/skylot/jadx.git
在下载完的目录下
cd jadx(打开项目) ./gradlew dist
----使用1:可视化操作
在目标路径下找到jadx-gui.bat双击可以打开可视化窗口来操作
----使用2:使用cmd命令操作,指令使用
jadx-d out xxx.apk(out为输出的目录名) jadx-gui xxx.apk(直接打开可视化界面对目标apk进行反编译查看源码
----效果如下:dex包拉进窗口即可显示
三、Dex转Jar相关
由于dex文件在root目录下, Android Studio的Device File Explorer没有copy权限,一个便捷的方法是在手机上把这些文件拷贝到外面的一些可见目录中。然后在Android Studio的Device File Explorer中copy这些文件到PC。
------------------Android逆向助手 v2.2--将dex包转为smali文件,替换原本------------
将原本的source-xxx.dex改名为smali.dex
-----------------------Androidkiller之更换smali代码,并且重新编译
删除原本的360的壳smali文件,把反编译出来的拿过来替换
腾讯乐固的壳:
360加固壳:
将application的name更换为原本的:
总结:app就算使用各种三方加固工具,对于小白还是有效果,但是实际上还是可以被分析的透透测测,而且为了防止应用被篡改成破解版,这就衍生了签名验证操作,但是只要花费时间就去找去看还是有办法的,安全与逆向从来都是双向攻守的。
大部分人都有一个黑客梦,不过虽说确实可以黑入,但是乱搞的会被请去喝茶,所以逆向开发xpose入侵不能乱搞,无奈中,微信被封了,可悲可泣。。。。。。所以得慎重