0

Apk_动态调试方案 - Only-xiaoxiao

 1 year ago
source link: https://www.cnblogs.com/Only-xiaoxiao/p/17216465.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

环境准备#

image
image

如图使用官方版本的adb.exe和两个.dll文件 ,覆盖【替换】夜神模拟器目录下的相同文件!同时将nox_adb.exe 也换成官方版本的adb.exe文件,但是命名必须还是nox_adb.exe。

ida .so动调#

使用模拟器#

adb devices  # 查看端口
adb.exe connect 127.0.0.1:62001
adb push F:\CTF_\ctf_tool\Re_tool\ida_pro\IDA_7.7_chinese\dbgsrv\android_x86_server /data/local/tmp
(IDA的dbgsrv目录下有很多版本,我尝试了这个版本出错,发现还有一个版本叫android_x86_server,可以成功运行)  /data/local/tmp/android_server(这个目录其实可以随便放,有的反调试会检测)


adb shell
cd /data/local/tmp
chmod 777 android_x86_server
./android_x86_server

# 再开一个终端,进行端口转发
adb forward tcp:23946 tcp:23946


# 一些相关命令

# 查看端口
netstat -ano | findstr "5037"
# 杀死进程
taskkill -f -pid 8377

adb kill-server
在关闭adb服务后,要使用如下的命令启动adb服务。
adb start-server
image

注意:这里.so文件的架构类型,要与ida进行远程调试的文件适配。

做好准备工作后,ida 加载.so文件,并设置好断点。然后用模拟器将要调试的apk程序运行起来,接下来使用ida 附加apk程序,开始动态调试。

image

完成.so文件的动态调试!

jeb 动调#

使用模拟器#

使用安卓修改器,在AndroidManifest.xml里修改或添加可调试权限

android:debuggable="true"  # AndroidKiller 等工具完成

入口调试【模拟器要处于开发者模式,并且打开USB调试】

# 安装调试应用
adb install app-release.apk

nox_adb devices  # 查看端口
nox_adb.exe connect 127.0.0.1:62001
adb shell

# am start -n 包(package)名/包名.活动(activity)名称
am start -n com.new_star_ctf.u_naive/com.new_star_ctf.u_naive.MainActivity

# 启动命令
adb shell am start -d -n com.new_star_ctf.u_naive/com.new_star_ctf.u_naive.MainActivity

模拟器运行后附加:

or

上面的步骤也可以略过!直接模拟器启动apk程序,然后附加。

使用真机#

xxx.apk(待动调程序)安装到安卓手机上,安装后打开APP。

【同样需要使用开发者模式,并打开USB调试,还有手机要是root权限

(非root 权限似乎也能调,自行尝试)

提示:
手机里面打开设置,对着安卓版本狂点几次,即可打开“开发者模式”,
然后在开发者模式里面打开“USB调试”。

然后使用数据线把手机和电脑连接起来,当弹出“是否允许电脑调试手机”之类的提示时选择允许。

image

最后手机打开xxx.apk,并使用JEB开始调试。

image
image

jadx 动调#

使用模拟器#

要动调的xxx.apk程序,在模拟器中运行起来。

jadx直接动态调试即可。

image

然后双击apk程序。

image

成功动态调试!!!

使用真机#

jadx的真机调试和jeb的真机调试做相同的前置准备即可完成!

其余步骤与用模拟器相同。

image
image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK