Smali动态调试方法
准备工具:
创新互联建站是一家专注于成都网站设计、网站制作与策划设计,叶县网站建设哪家好?创新互联建站做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:叶县等地区。叶县做网站价格咨询:18980820575
apktool
eclipse
调试步骤:
1.对apk使用apktool反编译出可调试的smali代码到testout文件夹
apktoold 的-d test.apk -o testout 注意-d参数是生成可调试代码 2,在AndroidManifest.xml中,设置application为可调试:android:debuggable="true" 3,找到Lancher入口 4,在入口类的OnCreate方法中,在第一句前插入 invoke-static {}, Landroid/os/Debug;->waitForDebugger()V 记得添加a=0; 以上2-4步也可以用shell命令:am start -D -n 包名/类名 进入调试等待 5,重新打包,记得仍然用-d参数 apktoold b -d testout -o debug.apk 6, 重签名 7,安装apk,并启动,此时程序触发调试点 8,打开eclipse,导入smali工程 1) File -> New -> Project -> Java Project -> Next 2) Project Name随便起,Use default location选项去掉,Location选择out文件夹,然后Next 3) 把smali文件夹设为Source Folder,然后Finish 9,下断点 10,打开DDMS,查看待调试程序的端口,8600 11, 回到eclipse,配置远程调试 1) 菜单Run -> Debug -> Debug Configurations 2) 双击Remote Java Application,Host处默认localhost就行,Port填第10步得到的8600,然后Apply -> Debug。
本文标题:Smali动态调试方法
转载来于:http://scyanting.com/article/ijeoei.html