修改android_server默认调试端口号反调试
July 25, 2017 12:06 PM
IDA载入文件android_server分析
android_server默认调试端口号是: ==23946==, 十六进制值为: ==0x5D8A==
==Shift+F12== 查找字符串
.rodata:00074224 0000004A C IDA Android 32-bit remote debug server(ST) v1.%d. Hex-Rays (c) 2004-2015\n
.rodata:00074160 0000000D C init_sockets
点击数据交叉来到代码区
第一处:
1 | .text:0000B620 loc_B620 ; CODE XREF: sub_B5DC+22j |
第二处:
1 | .text:0000B97E loc_B97E ; CODE XREF: sub_B5DC+C2j |
IDA按 ==Ctrl+J== 列出交叉参考来源
第一处:
1 | .text:0000B8D8 8A 5D 00 00 dword_B8D8 DCD 0x5D8A ; DATA XREF: sub_B5DC+70r |
第二处:
1 | .text:0000BA44 ; DATA XREF: sub_B5DC:loc_B988r |
用十六进制工具 010 Editor
==Ctrl+G== 到文件物理地址offset去修改,
IDA v6.8里 ==0000B8D8== 和 ==0000BA48== 两处的值 ==0x5D8A== 改为 ==0x41F8==
注意字节序是输入 ==F841==
October 15, 2017 1:00 PM
IDA v7.0里 ==0000FBA0== 处的值 ==0x5D8A== 改为 ==0xFFFF==
注意字节序是输入 ==FFFF==
- [x] 如果是nonpie版本的,IDA的地址要减去 ==Imagebase:8000== 才能得到文件物理地址offset偏移
几个端口号对应16进制
0x5D8A=23946
0x41F8=16888
0x3039=12345
0x2222=8738
0xEEEE=61166
0xFFFF=65535
将修改过的文件push到手机上,用 ==chmod 777== 添加执行权限
adb push android_server /data/local/tmp/android_server
adb shell chmod 777 /data/local/tmp/android_server
然后运行试试,看看效果
1 | C:\Users\Administrator\Desktop>adb shell /data/local/tmp/android_server |
还可以 ==ln -s== ====做一个软链接,链接到/system/xbin/下或者/system/bin/下作为环境命令执行
需要root权限和adbd为root启动
1 | adb shell ln -s /data/local/tmp/bs70_nonpie /system/xbin/bs70_nonpie |
换言之,就是修改所有v22 = 23946;的地方,参考如下
IDA PRO v7.0 android_server_nonpie_v1.20分析修改参考(右键下载保存)
1 | C:\Users\Administrator\Desktop>adb shell bs70_nonpie |