62.加固技术总结android upx脱壳笔记_第1页
62.加固技术总结android upx脱壳笔记_第2页
62.加固技术总结android upx脱壳笔记_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AndroidUPX 脱壳一、适用版本V3.9.2二、分析工具IDA,WinHEx三、分析项1.bin 脱壳2.so 脱壳四、bin 脱壳使用 IDA 开打加壳后的文件,在 start 函数的末尾 下断点,F9 运行, 运行到断点, 取消断点 ,再 F8到 upx 解压代码段,搜索特征码7D 70 A0 E3 00 00 00 EF0 x7D是调用 mprotect 函数修改段属性,所以在这里下断, 然后 运行, 到断点从 r0 为 0 x8000r1 为 0 x1D3C, 所以要 dump 的数据位R0 到 R0 + (r1 -1) / 0 x1000 + 1 )* 0 x1000这里就 d

2、ump 出来 代码段, 再次F9 运行 又再次中断 使用 010EditorELF 模板打开 dump 出来的数据找到第一个 属性为(RW_) 的Loadtable Segment,定位此 Seg 的 vaddr 地址 0 xAD3C,大小为 (0 x174 -1) / 0 x1000 + 1 )* 0 x1000 = 0 x1000 再使用 IDAdump 出数据段,将这部分数据到刚才代码段文件,偏移位置为0 x1D3C 处保存文件, upx脱壳完成!五、SO 脱壳1. 使用 IDA 打开 libexec.so, 在导出函数中找到 .init_proc函数 (0 x39A79), 搜索特征码

3、7D2700DF搜索到下面语句2. 自己编译一个load程序 , 然后 ida 附加.刚好到 死跳转处, 注意 r0 和 r1修复 program head有用3.开始 dump 数据,从址开始 0 x40501000到 0 x40559000 结束, 也就是刚才下面一个 libexec的segment 结束.4.修复 program head,这里 是 p_files 和 p_memsz 是错误的需要修正,这里大小的计算 为Mprotect 函数的 参数 1 + 参数 2 - 模块址 结果如下:0 x40511000 + 0 x00047490 - 0 x40501000 = 0 x5749

4、0;并修改 第一个 (RW_) Loadable Segment的文件偏移,P_offet = p_addr - 0 x1000, 这里应该修改为 0 x57EE0; 下面是修改后的5.修补数据打开原始文件libexec.so 文件 定位到第一个 (RW_)Loadable Segment的 p_offset 文件偏移 0 x3AEE0 , p_memsz大小偏移(0 x4BC8),这里偏移 0 x57EE0 处这一步份数据出来, 粘贴到dump 出来的6. 获得原始 init 函数 RVA定位原始的 init 函数地址,返回到刚才 调试的 IDA 中0 x404E8649 就 VA 了 这里减掉址0 x404D6000 获得 RVA 为 0 x12649,也可以将上面的死条状指令恢复然后,函数一直 F8经 2 次返回就 可到 原始 init第一次返回:第二次返回:7.修改 .init_prot 偏移地址rva= 0 x039A79 , 所以在刚粘贴的数据中用 WinHex 搜索 16 进制.init_prot/前 4 个字节是类型标识后 4 个字节是函数偏移地址0C 00 00 00 79 9A 03 00要将这里的 0 x39A79壳代码修改为原始的 init 函数.最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论