主要学习内容来自学长的教我兄弟学Android逆向四
安卓逆向学习笔记(四)
首先打开AS的任意一个工程(开发apk的工程),然后把手机链接好,把要动态调试的软件安装到手机上。
首先了解一些知识。
什么是TCP
什么是JDWP
1.静态分析
首先把要动态调试的apk拖到androidkiller里,可以查看apk的包名和入口。
查看apk是否允许动态调试
记住它们,然后打开文件路径复制smail这个文件夹
找到一个容易找到的地方新建一个文件夹,把smail文件夹复制进去,然后重命名为src。
2.打开cmd
手机打开usb调试模式,不会的请百度
然后电脑按 win+r 打开 cmd输入一下命令
格式:adb shell am start -D -n 包名/入口名
例:adb shell am start -D -n hfdcxy.com.myapplication/ hfdcxy.com.myapplication.MainActivity
手机此时会出现
不用管,但是也不要动手机,继续下一步就行了
3.打开as的一个工程
然后打开android device monitor,就可以看当前手机已经打开软件的临时jdwp(这个每一次打开手机软件都会变化)
然后找到需要动态调试的软件,找到并记住软件的jdwp,tcp,然后就可以关闭adm了
4.连接手机
win+R 打开cmd输入以下连接指令
格式:adb forward tcp: ??? jdwp: ???
例:adb forward tcp:8700 jdwp:10138
5.导入工程
打开as,导入需要动态调试的smail
找到已经准备好的文件夹
然后一路next就行
可能会弹出,弹出就yes
然后打开project
下一步
设置工程的jdk
ok就可以了
然后添加一个remote
命名为smail,port为tcp的值
然后就行可以开始动态调试了
下完断点就可以按F8来一步步执行代码
然后就完事了,尽量多尝试几次。