Android逆向教程

2026-02-24 20:24:44

1、使用apktool来编译出资源文件。在命令行输入:

apktool -d test.apk

Android逆向教程

2、执行上一步后,分析资源文件。

apktool.yml: apk属性,这个基本不用修改的.AndroidManifest.xml: 清单文件, 看这里可以知道总体的代码结构.original: 原始数据, 应用的二进制清单和签名.res: 资源文件,图片,xml文件都在这里。smali: dex解析的代码.smali是dex虚拟机的解析格式,在 dex2jar中,也包含smali格式的转换.

Android逆向教程

3、修改文件。一般情况,修改文件主要是res和smali。修改图片,主要.9的图片是不太支持重新打包的。修改smali文件,可以结合用dex2jar把代码反编译成可读性强的代码,读懂smali文件每一代实际代表的java代表的意思。用有的编辑工具编辑smali后,会生成.bak后缀的代码,注意要删掉,否则会重新打包编译不通过。

Android逆向教程

4、使用apktool重新打包。在命令行输入:

apktool b test

Android逆向教程

5、签名apk。没有签名的apk是不可用的。在命令行输入:

jarsigner  -digestalg SHA1 -sigalg MD5withRSA -verbose  -keystore 密钥库名 -storepass  密钥密码 -signedjar 生成后apk路径  原apk路径  密钥别名

Android逆向教程

1、如果想逆向分析后,用源代码开发一个类似的,这时需要用dex2jar来生成可读性强的源代码。在命令行中输入:

d2j-dex2jar.bat test.apk

Android逆向教程

2、利用jd-gui等工具,来查看生成后的jar。这时可以看到代码类似开发时写的java源代码了,可以大概读懂大部分逻辑。如果把代码拷贝到Android Studio,会发现还是有些错误,这时可以结合逻辑进行修改。

Android逆向教程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢