首页
社区
课程
招聘
移动安全学习笔记(二)
2023-2-16 10:52 22036

移动安全学习笔记(二)

2023-2-16 10:52
22036

工具

Adb

查看模拟器列表

1
adb devices

连接模拟器shell

1
adb shell

安装应用

1
adb -s 127.0.0.1:62001 install C:\Users\Administrator\Desktop\HelloWorld.apk

覆盖安装

1
adb -s 127.0.0.1:62001 install -r C:\Users\Administrator\Desktop\HelloWorld.apk

启动应用

1
adb -s 127.0.0.1:62001 shell am start -n com.bluelesson.helloworld16/.MainActivity

调试方式启动应用

1
adb -s 127.0.0.1:62001 shell am start -D -n com.bluelesson.helloworld16/.MainActivity

AXMLPrinter2

解析查看 AndroidManifest.xml文件

1
java -jar AXMLPrinter2.jar AndroidManifest.xml

xml2axml

解码 xml 文件

1
java -jar xml2axml d [AndroidManifest-bin-in.xml] [AndroidManifest-readable-out.xml]

编码 xml 文件

1
java -jar xml2axml e [AndroidManifest-readable-in.xml] [AndroidManifest-bin-out.xml]

Baksmali

dex文件反汇编为smali文件

1
java -jar baksmali.jar classes.dex -o out

smali

smali文件汇编为dex文件

1
java -jar smali.jar out -o new_classes.dex

signapk

签名工具

1
java -jar signapk.jar testkey.x509.pem testkey.pk8 HelloWorld.apk HelloWorldSign.apk

apktool

dex反编译smali、xml解析、生成资源序号文件与资源名称对应表

1
java -jar apktool.jar -r d HelloWorld.apk
1
java -jar apktool_2.4.0.jar empty-framework-dir --force

smali文件编译为应用,应用生成目录为反编译应用的 dist 目录中

1
java -jar apktool.jar b HelloWorld

Dex2jar

dex文件转换成jar文件的工具,该工具提供了大量批处理脚本,所以使用起来较为简单,windows下只需将 dex 文件拖拽到 d2j-dex2jar.bat 脚本上即可转换成 jar 文件,当然了,也可以用 cmd 命令执行如下命令

1
d2j-dex2jar.bat classes.dex

jd-gui

jar文件查看器,没啥说的,jd-gui 提供的是exe文件,双击即可

Android Killer

  • 设置 jdk 路径 C:\Program Files\Java\jdk1.8.0_66\bin\
  • apktool目录在 D:\AndroidKiller_v1.3.1\bin\apktool\apktool

  • 替换 D:\AndroidKiller_v1.3.1\bin\adb 路径下的下列三个文件为SDK中的

    • adb.exe
    • AdbWinApi.dll
    • AdbWinUsbApi.dll

JEB

收费的反编译工具,基本被jadx取代

jadx

开源的反编译工具,github上下载的时候有好几个可选链接,自测 jadx-gui-1.4.5-with-jre-win 版本可以直接运行,其他的版本报错

IDA

连接手机步骤:

  1. 上传IDA服务调试端,其所在路径:D:\IDA_Pro_7.7_Portable\dbgsrv
1
adb push android_server /data/local/tmp/ands
  1. 连接手机shell
1
adb shell
  1. 提升权限(需要root权限,否则最后附加之后显示的进程不全)
1
 
  1. 切换至调试端所在目录
1
cd /data/local/tmp
  1. 检查调试端权限
1
ls -l
  1. 设置调试端权限为可执行
1
chmod 777 ands
  1. 以 23456 端口运行调试端
1
./ands  -p23456
  1. 开启第二个 cmd 窗口,安装被调试软件
1
adb install .\test.apk
  1. 启动被调试软件
1
adb shell am start -D -n com.example.testndk/com.example.testndk.MainActivity
  1. 设置端口转发
1
adb forward tcp:23456 tcp:23456
  1. 打开 IDA — Debugger — attach — Remote ARM Linux/Android debgger
    1. Hostname — localhost
    2. Port — 23456 — OK
    3. 设置 Supend on library load/unload (不然会导致后边显示补全)
  2. 选择被调试程序包
  3. 启动 Android Device Monitor
  4. 启动 jdb
1
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8600

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2023-2-16 18:06 被简单的简单编辑 ,原因:
收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回