时时勤拂拭,勿使惹尘埃

TOC

Categories

iOS(九)内存dump应用&手动解密



1.获取应用Mach-o头信息
otool -l /var/mobile/Applications/xxxx/coyote.app/coyote >> /tmp/coyote.txt
搜索LC_ENCRYPTION_INFO,其中cryptoff为混淆代码在文件中的偏移(不包括头部信息,文件的前4096字节),cryptsize为混淆代码的大小,cryptid由于指示在将代码有文件加载到内存中是否需要解混淆

2.gdb附加进程
先获取应用pid
ps aux | grep coyote
gdb -p pid
3.获取进程基址
gdb中使用:info sh
获取到coyote基址为:0xe0000
4.计算解密后应用内存位置
起始位置:基址+cryptoff偏移=0xe0000+hex(16384)=0xe4000
终止位置:基址+cryptoff偏移+cryptsize混淆代码大小=0xe0000+hex(16384+5357568)=0x600000
5.dump解密后的应用
dump binary memory dump.bin 0xe4000 0x600000

0 评论:

发表评论