android逆向总结
工具
- MT管理器
- NP管理器
命令
#baksmali 可以反编译dex
#smali 可以编译smail为dex 应该是
java -jar baksmali.jar disassemble .\2740_8210372_dexfile.dex -o liu #反编译dex
#批量dex2smali
python.exe C:\soft\py3util\android\smali_tools\smali_decompile_kk.py -d dex位置文件夹 -o 输出文件夹 -m each
#批量smali2dex
python.exe C:\soft\py3util\android\smali_tools\smali_split.py -d smali位置文件夹 -o 输出文件夹 -m each
#android killer多个classes.dex命名方式 从数字2开始
smali smali_xxx(命名随意) 编译后 就会编译成 class.dex xxx.dex
#提前需要把ida下面的android_x64_server 移动到android目录启动服务
#开启进程调试
adb shell am start -D -n com.example.myapplication/.MainActivity
#监听端口
adb forward tcp:23946 tcp:23946 (第一个本地端口 第二个安卓端口)
#启用jdb调试端口
adb forward tcp:8700 jdwp:3724
#jdb运行调试
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
#查看当前activity
adb shell dumpsys window | findstr mCurrentFocus
代码
#生成随机数
invoke-static {}, Lcom/one/tomato/utils/DBUtil;->getLoginInfo()Lcom/one/tomato/entity/db/LoginInfo;
move-result-object v1
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v2
invoke-virtual {v2}, Ljava/util/UUID;->hashCode()I
move-result v2
#打印调试信息
const-string v0, "KuangKe"
const-string v1, "loadMore"
invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
AndroidKiller 连接设备
以雷电3为例。直接找到雷电3目录下面的 adb
AdbWinApi.dll
AdbWinUsbApi.dll
到 AK的/bin/adb目录下