Android 逆向破解 APK

CyberSicko
hava a nice day.

准备工具:

ApkTool 2.9.3 逆向打包APK工具

JD-GUI 源码查看

D2XTool dex 转 jar包

AndroidStudio ADB 调试工具

解压包分析:

这款APP拥有登录认证功能,那么我的首先思路就是在 LoginActivity 登录的时候将登录先跳过,查看里面的功能。

将apktool加入到系统环境变量。

首先逆向APK解压包,命令执行:

D:\Software\WeChat\WeChat Files\wxid_n06d1hpguicp22\FileStorage\File\2024-02>apktool d v2.apk
I: Using Apktool 2.9.3 on v2.apk
I: Loading resource table...
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\chaojie\AppData\Local\apktool\framework\1.apk
I: Decoding values */* XMLs...
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

执行完成之后在当前目录下会看到多了一个当前apk名称的文件夹:

1219,646

其中的smail文件夹就是源代码了,不过全都是smail代码,可读性不佳,那么就需要配合java源代码来分析其中代码的含义。

把apk安装包使用zip工具打开,可以看到里面有以下文件:

1032,417

其中的classes.dex就是我们需要的,将两个复制出来到d2x执行路径,执行:

sh d2j-dex2jar.sh classes.dex

执行完成后,就得到源码的jar包了:

699,346

现在将jar包拖动到jd-gui里面分析源码:

1920,1106

过程略过,有点敏感。

修改smail代码后需要重新打包,签名,对其,命令:

将逆向后的代码重新打包:

apktool b 5_base -o new_app_test.apk

4k对齐:

C:\Users\chaojie\AppData\Local\Android\Sdk\build-tools\30.0.3\zipalign -f -v 4   new_app_test.apk output.apk   

重新签名:

java -jar C:\Users\chaojie\AppData\Local\Android\Sdk\build-tools\30.0.3\lib\apksigner.jar sign --ks pojie.jks -ks-key-alias pojie  --out ./v2.apk ./output.apk




评论

还没有评论

发表评论