您的位置:首页 > 其它

apktool 打包解包apk的总结

2016-05-29 11:45 232 查看
1) 不需要另外下载 baksmali-2.1.2.jar, apktool.jar 好像都包含了。

apktool d zhanqi.xxx.apk -o zhanqi


2) smalidea-0.03.zip 的 Android Studio插件装上之后,就可以调试 1) 生成的 smali 文件了

https://github.com/JesusFreke/smali/wiki/smalidea

Manually disassemble an application using baksmali into a "src" subdirectory of a new project directory, e.g.
baksmali myapp.apk -o ~/projects/myapp/src


In IDEA, import a new project, and select the project directory. e.g.
~/projects/myapp


Use the "Create project from existing sources" option when importing the project

Once the project has been created, right click on the src directory and select "Mark Directory As->Sources Root"

Open the project settings and select/create an appropriate JDK

Install/start the application on the device

Run ddms, and select the application's process

In IDEA, Create a new "Remote" debug configuration (Run->Edit Configurations), and change the debug port to 8700

Run->Debug

The application should pause if/when the breakpoint is hit, at which point you can single step, add watches, etc.

3)重新打包decomplie出来的smali

D:\proj\android>apktool b zhanqi
I: Using Apktool 2.1.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building apk file...
I: Copying unknown files/dir...


4)重新签名打包的apk 文件

a) 下载sign.jar 和 signapk.jar https://github.com/appium/sign
b) 会生成 .s.apk 文件

D:\proj\android>java -jar sign.jar .\zhanqi\dist\zhanqi_v2_6_8.apk

D:\proj\android>adb install .\zhanqi\dist\zhanqi_v2_6_8.s.apk


5)启动app时就截住断点的方法

.method protected onCreate(Landroid/os/Bundle;)V
.locals 4

.prologue
.line 66
invoke-static {}, Landroid/os/Debug;->waitForDebugger()V
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: