Obsidium 1.3重定位修复(不用补区段)
来源:互联网 发布:c#修改浏览器数据 编辑:程序博客网 时间:2024/05/07 04:53
Obsidium 1.3重定位修复(不用补区段)
最近在看OB的脱壳教程,(天草壳世界),还有ximo的OB教程,今天利用空余时间,终于把程序修复成功,记录如下:
找到VirtualAlloc,VirutalProtect,利用这几个函数来找到重定位的地方,然后把重定位处理的代码用xor来代替.
到伪OEP,然后把重定位的整个内存段DUMP下来,整个PE也DUMP下来,此时不用关闭OD.后面要修复一些TLS段的数据.
用WINHEX把PEDUMP.EXE打开,然后把1000H的字节内容复制下来(因为PE文件在32位机是以1000H对齐的),然后打开DUMP下的内存段,把刚才复制的内容贴到0000起始的位置.保存成UNPACK.EXE
这里的代码段和数据段是完整的,但资源段尚未修复,于是可以从DUMP.EXE里提取资源,我这里用Resfixer,因为那个DT_FixRes对我DUMP下来的PE程序那些RVA不能填充到我需要的数字,于是选了RESFIXER.这里关键是RVA的填写,因为最先DUMP下来的内存映像大小是55000H,于是这里new section RVA填56000,FILE ALIGNMENT填1000H,因为从内存中DUMP下来就以这种对齐方式
DUMP出资源后,就用PE编辑器把资源段加上,然后修复相应的RVA字段(如果有需要).还有资源目录表中的RVA也作相应更改.
此时运行程序,出错了.最初想到的是TLS表没修复,于是打开修复的文件,查看TLS目录,发现是乱码,于是从加壳文件中得到信息,TLS大小为18H,于是把TLS段从409000H这个DUMP下来,修补填上.tls字段重新计算填上,重新运行,OK.
最后,TLS段修复也可以不DUMP这个段,直接找个大量0000的空位应该也是可以的.
最近在看OB的脱壳教程,(天草壳世界),还有ximo的OB教程,今天利用空余时间,终于把程序修复成功,记录如下:
找到VirtualAlloc,VirutalProtect,利用这几个函数来找到重定位的地方,然后把重定位处理的代码用xor来代替.
到伪OEP,然后把重定位的整个内存段DUMP下来,整个PE也DUMP下来,此时不用关闭OD.后面要修复一些TLS段的数据.
用WINHEX把PEDUMP.EXE打开,然后把1000H的字节内容复制下来(因为PE文件在32位机是以1000H对齐的),然后打开DUMP下的内存段,把刚才复制的内容贴到0000起始的位置.保存成UNPACK.EXE
这里的代码段和数据段是完整的,但资源段尚未修复,于是可以从DUMP.EXE里提取资源,我这里用Resfixer,因为那个DT_FixRes对我DUMP下来的PE程序那些RVA不能填充到我需要的数字,于是选了RESFIXER.这里关键是RVA的填写,因为最先DUMP下来的内存映像大小是55000H,于是这里new section RVA填56000,FILE ALIGNMENT填1000H,因为从内存中DUMP下来就以这种对齐方式
DUMP出资源后,就用PE编辑器把资源段加上,然后修复相应的RVA字段(如果有需要).还有资源目录表中的RVA也作相应更改.
此时运行程序,出错了.最初想到的是TLS表没修复,于是打开修复的文件,查看TLS目录,发现是乱码,于是从加壳文件中得到信息,TLS大小为18H,于是把TLS段从409000H这个DUMP下来,修补填上.tls字段重新计算填上,重新运行,OK.
最后,TLS段修复也可以不DUMP这个段,直接找个大量0000的空位应该也是可以的.
- Obsidium 1.3重定位修复(不用补区段)
- obsidium 重定位
- Obsidium 1.3.5.0
- DLL文件脱壳(重定位表修复部分)
- 关于内存加载DLL后修复重定位的问题
- 重定位表,IAT修复引起的大脑风暴
- 关于内存加载DLL后修复重定位的问题
- IP地址排序、IP区段去重
- IP地址排序、IP区段去重
- 2011.06.18_ximo_VMP antidump 之补区段法
- 重定位
- 重定位
- 重定位
- 重定位
- 重定位
- 重定位
- 不用软件修复硬盘分区表
- 051.1代码重补
- Ajax加载html部分内容到指定的标签内
- 迷宫问题(广搜 bfs)
- 解压字符串
- 实现placeholder属性的UITextView
- 使用spring @Scheduled注解执行定时任务
- Obsidium 1.3重定位修复(不用补区段)
- dedecms列表页调用文章正文内容的方法
- 使用Gson工具的心得
- android 单元测试 radio group
- C++快速排序
- maven 学习笔记
- selenium webdriver 元素定位方法
- HTTP Header 详解
- c#中动态对象的RuntimeTypeHandle