工作需要,拔了一个app内容,主要是涉及核心算法,没办法只能去反编译。部分内容也是来自网络,本文仅作记录整理。
反编译需要准备的工具:
1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使工具人的自我修养用文件加密,用来反编译apk,apk重新打包;
2.dex2jar:该工具作用是将classes.dex文件,反编译出源码(如果apk未加固),反编反编译工具译出文件,使用jd-gui过程工具进行查看;
3.Auto-Sign:自动签名工具,将重新打包的a过程性评价pk进行签名内容,如果不签名,无法安装使用。
4.文件加密jd-gui: 这个东西可以直接查看jar文件内容,不需要进一步解包,如果对方app没有很深的套路,用这个就不用再打包去查看了。
直接说解包,修改和再打包的过程:
1、查看内容解包
dex2jar.bat classes.dex
该命令来自于dex2jar工具,后面的dex文件是直反编译软件接将apk文件改名zip工具play跳蚤解压后得到的。
运行结束后,在该工具目录下反编译exe会生成一个cla内容摘要sses_dex2jar.jar的文件
打开工具jd-gui文件夹里的反编译jd-gui.exe,用该工具打开生成的classe内容神器s_dex2ja工具的拼音r.jar文工具play跳蚤件,便可以看到源码,如果不是加密处理过的,这部分内容可读性还是比较强的。
2、修改源码需要使用apktools进行反编译解包。
apktool.bat d -f test.apk -o test
反编译之后会得到test 文件夹,打开test文件夹,里边就是反编译出来的各种文件。
第一步中,jd-gui看到的文件,对应着smali文件夹,再找到与之对应的地址smali文件
比如:smali\com\danfoss\koolapp\a.smali对应着下图中的内容
3、修改源码
直接修改smali是比较难的,smali相当于内容神器编译后的语言,虽然可读性比二进制要好,但依然很麻烦。
此时需要安装android-stu内容的拼音dio, 下载地址工具: htt工具简笔画p://www.android-studio.org/
安装反编译exe后安装插件:java2smali,下载地址:https://plugins.jetbra反编译安卓appins.com/plugin/7385-java2smali
插件导入IDE后重启IDE,创建一个空的Project。复制jd-gui中查看到的ja反编译器va内容,选择IDE顶部菜单:bu过程装备与控制工程专业ild–反编译app-Compile to内容分析法 Smali即可实现java到smali的编译。
此时根据自身需要修改java内容,调试内容的英文输出即可。
4、再打内容的英文包
再次打包需要使用aokt工具人男主不想走剧情ool命令
apktool.bat b test
此时得到的test.apk文反编译器件需要签名
复制test.apk到autosign工具的文件夹下
java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk test_signed.apk
之后会得到一个test_sign文件格式ed.apk,该文件可以直接安装。
最后说一工具人下安卓虚拟机的问题
使用虚拟机可以更方便快速的调过程量试,不需要反复看手机。
使用BlueStacks蓝叠,这个软件相对响应速度比较快。可以在设置–引擎设置中获取r反编译什么意思oot权限。使用re文件管理器可以访问system文件夹的资源,其共享文件夹路径为:X:\Bl反编译uestacksCN\Engine\ProgramData\Engine\UserDat文件夹怎么压缩a\SharedFolder
教程完毕。
记录一个安卓app反编译的过程原文链接:https://qipaiyuanmaxiazai.com/5605.html,转载请注明出处~~~
评论0