Apk_动态调试方案
环境准备
安装夜神安卓模拟器
配置好adb【Android 调试桥】环境(这里需要使用官方的adb环境,设置好环境变量)Android 调试桥 (adb) | Android 开发者 | Android Developers (google.cn)
置换夜神模拟器路径下的adb.exe,使环境版本适配。【这一步尽量也配置好】


如图使用官方版本的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

注意:这里.so文件的架构类型,要与ida进行远程调试的文件适配。
![]() |
![]() |
|---|
做好准备工作后,ida 加载.so文件,并设置好断点。开始使用ida 附加apk运行程序。

完成.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调试”。
然后使用数据线把手机和电脑连接起来,当弹出“是否允许电脑调试手机”之类的提示时选择允许。

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


jadx 动调
使用模拟器
要动调的xxx.apk程序,在模拟器中运行起来。
jadx直接动态调试即可。

然后双击apk程序。

成功动态调试!!!
使用真机
jadx的真机调试和jeb的真机调试做相同的前置准备即可完成!
其余步骤与用模拟器相同。


Apk_动态调试方案的更多相关文章
- 安卓动态调试七种武器之离别钩 – Hooking(下)
0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试 ...
- [转]Android逆向之动态调试总结
一.在SO中关键函数上下断点 刚学逆向调试时.大多都满足于在SO中某关键函数上下断点.然后通过操作应用程序,去触发这个断点,然后进行调试 详细的步骤可以参见非虫大大的<Android软件安全与逆 ...
- 针对 Linux 环境下 gdb 动态调试获取的局部变量地址与直接运行程序时不一致问题的解决方案
基础的缓冲区溢出实践通常需要确定运行状态下程序中的某些局部变量的地址,如需要确定输入缓冲区的起始地址从而获得注入缓冲区中的机器指令的起始地址等.在 Linux 环境下,可通过 gdb 对程序进行动态调 ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- IDA动态调试技术及Dump内存
IDA动态调试技术及Dump内存 来源 https://blog.csdn.net/u010019468/article/details/78491815 最近研究SO文件调试和dump内存时,为了完 ...
- Java 动态调试技术原理及实践
本文转载自Java 动态调试技术原理及实践 导语 断点调试是我们最常使用的调试手段,它可以获取到方法执行过程中的变量信息,并可以观察到方法的执行路径.但断点调试会在断点位置停顿,使得整个应用停止响应. ...
- Android动态调试so库JNI_Onload函数-----基于IDA实现
之前看过吾爱破解论坛一个关于Android'逆向动态调试的经验总结帖,那个帖子写的很好,对Android的脱壳和破解很有帮助,之前我们老师在上课的时候也讲过集中调试的方法,但是现在不太实用.对吾爱破解 ...
- apk逆向 - smali动态调试
author: Dlive date: 2016/10/6 0x00 前言 之前有人问过smali的动态调试方法,其实网上已经有很多文章讲这些内容,但是为了方便大家学习,我还是写一下让大家少走点坑 ...
- 安卓动态调试七种武器之离别钩 – Hooking(上)
安卓动态调试七种武器之离别钩 – Hooking(上) 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的 ...
- 安卓动态调试七种武器之孔雀翎 – Ida Pro
安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是 ...
随机推荐
- 【Docker】清理磁盘占用
查看磁盘空间占用 # /var/lib/docker # du -sh * 快速清理 简单清除不使用的镜像及容器 docker system prune docker system prune -a ...
- vue3 微信支付和支付宝支付 H5和微信内置浏览器
vue3微信支付和支付宝支付 // 判断是否为微信内置浏览器 let browser: any = navigator.userAgent.toLowerCase(); let isWechat: a ...
- mybatis-generator 生成实体类,表字段类型有text,longtext,生成**WithBLOBs解决办法
modeType="flat" 其他参数请查询文档http://www.youbiji.cn/doc/mybatis/xml-table.html
- HFSS仿真疑问
P15针在0.5pitch下,GS结构相比GSG更接近50Ω,但是在某些频点会有明显的反射,该频点插损比较大. 从TDR上看,阻抗呈正弦形状变化,有些奇怪. 空气盒子只增加了2mm,试了一下将空气盒子 ...
- 程序禁止在 VMware 虚拟机中运行的解决办法
本帖最后由 ibq00 于 2018-12-22 18:54 编辑虚拟机里面不能开游戏!提示这个对话框!Sorry, this application cannot run under a Virtu ...
- 第三讲: xpath定位方法
如果大家有机会做web自动化测试的工作,在框架搭建好之后,大部分的工作都是在写定位表达式,然而,8大元素定位方法中,id.name.class_name.link_text.partial_lin ...
- flask create_time update_time is_delete
create_time = db.Column(db.DateTime, server_default=func.now()) update_time = db.Column(db.DateTime, ...
- 解决element-ui表格多重嵌套循环时,添加row-key="id" 出现Duplicate keys detected: 'XXX' 错误的问题
Duplicate keys detected: 'XXX' 错误,怀疑是多重嵌套循环时 :key="item.id或index" 不能重复的问题,但设置了不同的 key 后并未解 ...
- 看懂插入才算看懂redis跳表
跳表的数据结构 forward相当于9之于8,12之于8 插入算法流程: 1.初始化两个数组update和rank数组:update表示每一层的前继节点.rank表示update节点到头结点的距离(用 ...
- springboot项目 报错No mapping for GET /css/bootstrap.css,前端无法展示样式
说来也奇怪,前几天刚写完的项目 写的好好的 现在打开他就加载不了前端的静态资源了 报错No mapping for GET /css/bootstrap.css 解决方法: 新建一个配置类 ,将静态资 ...

