type
status
date
slug
summary
tags
category
icon
password
so的调试环境搭建
📖工具准备
- adb
- android SDK
- IDA
- Pixel1(真机)
- eclipse IDE for Java
Eclipse 主要的作用是利用它自带的View分析工具
在Windows-Show View-Devices,在other里面
如果没有Devices,应该就是Android SDK没有下载,在Android SDK Manager里面下载.
具体安装的还须根据自己的手机配置进行修改
逆向准备
在进行安卓逆向之前我们应该先准备的事情是先进行解包,然后重打包
apktool d your_app
删除之后进行重打包,这里特别说明打包所在的路径不能包含中文,然后我们重新打包的文件就会保存在你解包的那个文件夹下的dist文件夹
重打包完还要签名,这里建议保存一个这个文件以免每次麻烦
keytool jarsigner 工具是JAVA JDK自带的,直接命令行就能用
之后重新签名
jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar dist.apk your_apk my_alias
IDA调试so文件
首先我们需要把我们使用的ida里面的dbgsrv
由于我们使用的是真机,所以我们push android_server,android_server64到我们的/data/local/tmp里面,并且我们要对这些server赋予权限
第一步转发端口
第二步
利用adb shell am start -D -n [aok包名]/.[主活动]
这里为了是软件处于等待调试的状态
然后这时我们打开eclipse然后等待加载,我们所要调试的进程为红,说明它成功被挂起
第三步
这条指令用于从本地机器通过指定的端口连接到一个正在运行的 Java 程序,以便进行调试。
这时候我们打开我们的IDA,我们利用F2下一个断点
debug的模式我们选择Remote ARM Linux/Android debugger
设置Process options
将IP设为127.0.0.1(即是本地地址)
我们这个时候就可以附加我们的程序,如果出现这个窗口就说明成功
找到我们的进程选择附加
这里是在询问我们是否是相同的文件,选择same
到这里会卡住,我们需要继续点运行
这个时候我们就可以在我们的真机上进行调试,随便输入flag
然后就下断成功
📎 参考文章
有关学习上的问题,欢迎您在底部评论区留言,一起交流~
- Author:5m10v3
- URL:https://5m10v3.top/article/130533f9-4e40-8020-b11e-daf324a07e35
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts