Android逆向工程/反编译

一、目的:

逆向工程的主要目的是参考学习,而不是恶意攻击,做一些非法活动(法律明确规定恶意篡改软件属于违法行为,请大家自重,一切后果自负)本人也是小白一枚,仅供参考学习

二、流程步骤

工具准备:jd-gui-windows-1.6.3 dex2jar-2.0 apktool(具体使用请自行Baidu)
解压apk文件:
apktool.bat和apktool.jar与 Demo.apk至于相同文件夹,启动shell命令(按住shift,右击点击命令)
apktool d hxctool.apk
https://juejin.im/post/5d804928f265da03a7160717

反编译脱壳方法一:

drizzleDumper下载:https://github.com/DrizzleRisk/drizzleDumper
Step1:
adb push drizzleDumper /data/local/tmp
Step2:
adb shell chmod 0777 /data/local/tmp/drizzleDumper
Step3:
adb shell #进入androd系统的shell
Step4:
su #获取root权限
Step5:
./data/local/tmp/drizzleDumper com.xx.Demo(想要脱壳apk的包名) #执行脱壳操作

反编译脱壳方法二:(Android Apk脱壳某数字公司):

工具一:FDex2
通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出
工具二:dex2jar
将dex转换为jar
工具三:Genymotion-ARM-Translation.zip/已经root的手机(Android 7.0及其以下)
直接拉入模拟器中,使模拟器可以支持arm apk包
工具四:xposed_v3.1.2.apk
脱壳流程:
Step1:
将xposed_v3.1.2、FDex2和需要脱壳的应用都安装到模拟器上。
Step2:
启动xposed_v3.1.2,将FDex2添加的xposed_v3.1.2的模块中激活
Step3:
点击xposed_v3.1.2模块中FDex2选中要脱壳的包
Step4:
运行要脱壳的包
Step5:
安装Re文件管理器,到data/data/包名拿到对应的dex文件
Step6:
将拿到的dex使用dex2jar转换为jar,然后直接放入Android Studio可以查看对应代码
https://blog.51cto.com/xuguohongai/2380617
apktool b C:\Users\pc\Desktop\DecodeHXC\hxctool -o D:\ProgramData\Demo.apk

你可能感兴趣的:(Android逆向工程/反编译)