能力值:
( LV9,RANK:3410 )
2 楼
UnPacKit [Obsidium V1.1.1.4] Try
能力值:
( LV2,RANK:10 )
3 楼
刚逛到这,呵呵,看到了:D
能力值:
( LV2,RANK:10 )
4 楼
pf
学习 ing...
能力值:
( LV2,RANK:10 )
5 楼
分板块建立是有必要的,否则感觉有点杂乱。建议再增加一个工具使用讨论板块。
学习脱文。。。
能力值:
( LV2,RANK:10 )
6 楼
好啊.继续学习!:o
能力值:
( LV2,RANK:10 )
7 楼
1 恭喜脱壳论坛建立
2 感谢FLY大虾的文章,FLY大虾的文章是最详细的说
能力值:
( LV2,RANK:10 )
8 楼
还请不吝赐教:
老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志。忽略除了“整数被0除”之外的所有其他异常选项。
是否在开始试探的时候,需要不忽略所有异常。才会找到最后一次异常和比较重要的异常?
03A54D9 F7F0 div eax//第4次异常 输入表处理 003A381D F7F0 div eax//第5次异常 003A3BD1 F7F0 div eax//第6次异常 003A381D F7F0 div eax//第7次异常 003A3BD1 F7F0 div eax//第8次异常 00408818 F7F0 div eax//第9次异常 跳OEP
最后一次跳OEP可以理解,但怎么得知IAT处理的异常呢?
我个人一直是用过那个异常的时间会比较长,而且详细跟踪会在里面找到一些dll相关的API调用,不知是否想法正确?
结合上一个问题,怎么可以判断跳OEP和处理IAT使用的是同一种异常呢?
搜索命令:test word ptr ds:[esi],20 003A64F0 66:F706 2000 test word ptr ds:[esi],20//找到这里 003A64F5 74 59 je short 003A6550
这个结果应该是跟踪到的吧,怎么就知道在这里就是对IAT是否处理过的判断呢?
在手动脱一些简单壳的时候(如aspack早期版本),我也自己跟到了类似的地方。经诸位大虾脱文指点也确认地方正确。
可到底怎么判断是否正确呢?
是不是看在这个判断语句后面的对内存操作中,是否对类似IAT结构的内存进行了操作或擦除?
如果是这样的,那么在如此多的代码中又是怎么找到这个地方的呢?
(不会是一句一句跟,然后看关注对内存有操作的循环吧-__-)
还有个问题,就是如果去看Yoda's。。。的源码,是不是会对IAT加密的过程有更深入的了解,个人觉得现在自己蒙的成分比较大
洗耳恭听中。。。
菜鸟:xuanqing
能力值:
( LV9,RANK:3410 )
9 楼
xuanqing 兄客气了。
其实很多脱壳笔记都是数十次脱壳过程的整理
每次脱壳寻找相对简单点的方法,积累起来,最后才汇总成笔记
因为比较烦人,所以常写脱壳笔记的兄弟不太多
能力值:
( LV9,RANK:3410 )
10 楼
TO xuanqing 兄:
是否在开始试探的时候,需要不忽略所有异常。才会找到最后一次异常和比较重要的异常?
碰到不熟悉的壳时基本上我是这样操作的。有脱壳笔记的壳参看其他兄弟的经验省许多事
最后一次跳OEP可以理解,但怎么得知IAT处理的异常呢?
呵呵,写笔记之前我跟踪过几次
结合上一个问题,怎么可以判断跳OEP和处理IAT使用的是同一种异常呢?
这个不确定。有些作者喜欢他常用的手法
是不是看在这个判断语句后面的对内存操作中,是否对类似IAT结构的内存进行了操作或擦除?
可以在IAT下内存断点,看看是哪里对IAT操作的
就是如果去看Yoda's。。。的源码,是不是会对IAT加密的过程有更深入的了解
的确如此,如果能够写猛壳或者脱壳机,肯定对于这些知识了解的比较通彻
能力值:
( LV2,RANK:10 )
11 楼
bow//
多谢fly大虾一一指点
能力值:
( LV6,RANK:90 )
12 楼
请教fly
完成了下面的步骤,在修复iat时遇到问题。imr不承认,并异常退出。
“运行LordPE,先完全Dump这个进程,然后“区域脱壳”,地址=00A10000,大小=00008000,得到Region00A10000-00A18000.dmp文件。用LordPE打开dumped.exe,从磁盘载入Region00A10000-00A18000.dmp区段,改其VOffset=00610000。只保留LordPE的“验证PE”选项,对dumped.exe重建PE。OK,Dump完毕!”
我是用另外一个unpack.exe,结构也很相象,学完unpackit.exe,再请教。
能力值:
( LV9,RANK:3410 )
13 楼
lipton 兄客气了
试试Import REConstructor V1.42+版 另外:注册版Obsidium加壳程序有的使用了SDK,需要修复代码
能力值:
( LV9,RANK:2130 )
14 楼
Oh MY GOD,笨呢。怎么一下没想到这个办法呢,我可是用了很多时间才把资源的问题基本解决,早学乖一点,就不用这么“忙”了。
能力值:
( LV6,RANK:90 )
15 楼
to fly
修复iat的问题解决了,原因是我把Roffset也改成了610000,笨啊。
不过还是不能运行,对比你脱壳的文件有许多不同之处,估计是修复Pe时的错误。
另外想问一下,这个壳你是用imr1.42+修复的?
能力值:
( LV2,RANK:10 )
16 楼
这个壳其实可以添加一个新区段把OEP的数据放进去.主程序我找不到破解NOP的地方.:(
能力值:
( LV9,RANK:3410 )
17 楼
最初由 lipton 发布 to fly 修复iat的问题解决了,原因是我把Roffset也改成了610000,笨啊。 不过还是不能运行,对比你脱壳的文件有许多不同之处,估计是修复Pe时的错误。 另外想问一下,这个壳你是用imr1.42+修复的? 应该是用1.42+修复的。不过我觉得1.6也没什么问题的。
另外:OEP的地址是动态申请的,即:不一定就是00A110CC,补上的代码段也不一定是00A10000-00A18000,以在你机子上调试时看到的为准
也可以把加壳的程序增加一个足够大的新区段,然后改变程序重定位代码的地址,使其把重定位后的代码写入你增加的区段。
能力值:
( LV9,RANK:3410 )
18 楼
最初由 loveboom 发布 Oh MY GOD,笨呢。怎么一下没想到这个办法呢,我可是用了很多时间才把资源的问题基本解决,早学乖一点,就不用这么“忙”了。 我以前也是在这里绕了个弯子,后来看ZILOT大侠脱的Obsidium就仿效了一下 :D
能力值:
( LV6,RANK:90 )
19 楼
to fly
上面的问题已经解决了,问题出在修复FE时的选项,可以运行了,现还有一个问题就是脱壳后是108k,7000区段的块已经去掉,但无法剪掉,如何优化,请指教,谢谢。
能力值:
( LV9,RANK:3410 )
20 楼
最初由 lipton 发布 to fly 上面的问题已经解决了,问题出在修复FE时的选项,可以运行了,现还有一个问题就是脱壳后是108k,7000区段的块已经去掉,但无法剪掉,如何优化,请指教,谢谢。 删除00007000区段,去掉LordPE的“脱壳修复”选项,保留“重新排列”、“验证PE”等选项,重建PE优化一下dumped_.exe即可
我就是这样简单优化的
能力值:
( LV6,RANK:90 )
21 楼
"删除00007000区段,去掉LordPE的“脱壳修复”选项,保留“重新排列”、“验证PE”等选项,重建PE优化一下dumped_.exe即可"
搞好了,谢谢指教。
能力值:
( LV9,RANK:3410 )
22 楼
最初由 lipton 发布 "删除00007000区段,去掉LordPE的“脱壳修复”选项,保留“重新排列”、“验证PE”等选项,重建PE优化一下dumped_.exe即可" 搞好了,谢谢指教。 兄弟客气了。
给我发个mail:fly4099@sohu.com
能力值:
( LV7,RANK:100 )
23 楼
因为这个东东的特殊函数不多,所以就不再改了。F9运行,程序达到第5次异常,IAT处理完毕。
运行ImportREC,填入RVA=006162E4,Size=00000240,点“Get Import”,得到输入表。
有1个特殊函数:006163E4 ? 0000 003A6D54//为:GetCommandLineA
其他是填充的垃圾数据,CUT掉就行了。改OEP=006110CC,FixDump!
删除00007000区段,去掉LordPE的“脱壳修复”选项,重建PE优化一下dumped_.exe即可 请问一下,这个IT的RVA是怎么得来的,我脱是脱了,在2000下脱的,就不知道IT是怎么得来的,谢谢了~~~
能力值:
( LV9,RANK:3410 )
24 楼
看看函数的地址从哪里开始的
能力值:
( LV7,RANK:100 )
25 楼
好的,晕,回复真快~!