decompiler

反编译

https://github.com/iBotPeaches/Apktool

https://github.com/google/android-classyshark

反编译APP,并重编译安装

  1. 找来一个apk: test.apk

  2. 使用apktool进行反编译

    $ apktool d test.apk   #会在同目录下生成一个test的目录,所有反编译文件都在里边

    这时可以在其里用vi,编辑一个文件如res/values/strings.xmlsmali的smali文件、AndroidManifest.xml配置 的一些可编辑的值;

  3. 使用apktool再打包

    $ apktool b test    #这里的test是刚才反编译生成的目录

    如果此时一切正常,会生成test/buildtest/dist

  4. 此时生成的test/dist/test.apk还需要重签名,可不用原证书签名。

    $ jarsigner -verbose -certs -keystore ./android_sign.keystore -storepass {pwd} -keypass {pwd} -digestalg SHA1 -sigalg MD5withRSA -signedjar {sign_test}.apk {test}.apk {pwd}
    $
    //# {pwd}:为证书的相关密码
    //# {sign_test): 目标apk名
    //# {test}: 源apk名
    $ adb install test.apk   #把此程序一道安装到手机上进行验证!

    此时生成的sign_test.apk就是一个反编译后再重编译的apk。可以安装的。

特别注意: 本反编译与再打包,只适用于第一次打包,如果该程序被加固过。当前的apktool@2.2.2 反编译与打包未加固的程序都成功!(20170302)

Reinforcement加固

Apktool

https://ibotpeaches.github.io/Apktool/documentation/

apktool d {test}.apk  # d-decoding 解码
apktool b {test}.apk  # b-build  编译

JEB

download: http://jebbuilds2.s3.amazonaws.com/jeb2demo/jeb-demo-2.2.10.201610102203.zip

https://www.pnfsoftware.com/jeb2/downloads

dex2jar

https://github.com/pxb1988/dex2jar

d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk

JD-gui

https://github.com/java-decompiler/jd-gui

Bitbucket

https://bitbucket.org/mstrobel/procyon jar

Fiddler

Android网络捉包 https://www.telerik.com/download/fiddler

http://www.androidtcpdump.com/android-tcpdump/downloads

Charles

网络抓包

Last updated

Was this helpful?