您的位置:首页 > 移动开发 > Android开发

apk反编译smali调试

2016-10-26 15:23 363 查看
一.apk反编译与重打包

1.反编译apk  

apktool d xxx.apk

2.重打包apk

apktool b xxx xxx.apk

二.动态调试smali

1.导入反编译的smali代码

用AS导入反编译的smali工程,对应的是smali文件夹,一路next

2.启动app

在测试机上安装对应的apk

在AS上,用terminal启动该apk对应的app

adb -s NX511J shell am start -D -n com.example.hare.time/.MainActivity

(如有多个device,-s +device选定device)

(在AndroidManifest.xml中查看对应的启动Activity,包名+Activity)

3.连接选择

下载smalidea,不用解压

AS中的File->Setting->Plugins中,Install plugin from disk..选择刚下载的smalidea.zip

AS中的Run->Edit Configurations,点击+添加remote调试,设置端口号(两种方法)

1)端口号设置方法一

随意设置一个端口号如:8700;

在Terminal中(接2启动app后),adb shell ps,查看app对应的pid;

在Terminal中执行adb forward tcp:8700 jdwp:xxxxx           (xxxxx对应的pid)

2)端口号设置方法二

在Terminal中(接2中启动app后),打开Android SDK所在的文件夹,双击tools中的ddms.bat,

在弹出的Debug Monitor中查看app对应的端口号,将remote调试的端口好设置成相同值即可

4.调试

Run->Debug,开始调试(可以直接点击绿色小蜘蛛图标),设置断点,调试。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息