2015年11月2日星期一

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

没有评论:

发表评论

ARM架构UEFI静态漏洞分析

一、ASUS安全名人堂 & HP安全致谢       efiXplorer工具是 binarly-io团队开发的UEFI固件分析 IDA Pro插件,其中提供了x86 UEFI静 态扫描漏洞功能:           https://github.com/binarly-...