首页
论坛
课程
招聘
有关EXECryptor部分代码分析,抛砖引玉,望巨人给予修复被抽取代码的指点
2006-4-11 16:35 7945

有关EXECryptor部分代码分析,抛砖引玉,望巨人给予修复被抽取代码的指点

2006-4-11 16:35
7945
收藏
点赞0
打赏
分享
最新回复 (16)
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
Immlep 活跃值 11 2006-4-11 16:42
2
0
越来越酷了!
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-11 16:57
3
0
呵呵,快酷陛了
用TC命令跟了一下,执行被抽掉OEP的代码的指令数,是以万为单位,我没有办法跟了....
雪    币: 170
活跃值: 活跃值 (192)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
poppig 活跃值 2 2006-4-11 17:19
4
0
hehe!

zhengtu
雪    币: 224
活跃值: 活跃值 (16)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
andy00 活跃值 4 2006-4-11 20:18
5
0
一个个的牛头人浮出水面了......
总也浮不完.....
雪    币: 262
活跃值: 活跃值 (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
yunfeng 活跃值 1 2006-4-11 20:19
6
0
曾经也想脱这个加的壳,搞了很久,也没搞定,放弃了
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-12 11:06
7
0
我也搞了一个多星期了...目前还在努力中...有兴趣一起研究?
雪    币: 58
活跃值: 活跃值 (17)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
hnhuqiong 活跃值 10 2006-4-12 20:20
8
0
不错,已经将这个壳玩的差不多了.

其实,softworm 对于它的虚拟机已经分析的很透彻了,你不用再跟虚拟机了,关键的关键是 它解码的这句  mov eax,dword ptr ds:[eax] ,拦下来后,你只要对比判断一下,and eax,0FF 结果,后面对应的是它的真正的解码的opcode .

=====引用 softworm=======
虚拟机执行流程大致为:

   . 保存寄存器
   . 解密opcode及参数
   . 执行opcode
   . 恢复寄存器
=========================

汗,感觉softworm简直就是softCPU, 把个虚拟机都跟的这么透彻,这个壳又爬下了
雪    币: 217
活跃值: 活跃值 (36)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
softworm 活跃值 30 2006-4-12 21:25
9
0
起码对我而言,这个壳还远不到趴下的地步。

2.2.x的vm不是很难,用vm执行的是单条指令,而且大多是壳代码而不是被抽的代码。但修复SDK保护的代码靠眼睛看是重体力活。ExeCryptor还有个麻烦之处,被抽代码的位置被壳代码借道,修复的代码不能马上写回去。

更高版本的没有看过。
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-13 10:29
10
0
谢谢两个大侠指点
请问用OD跟踪子线程,一般是用什么方法?
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wekabc 活跃值 2006-4-13 10:46
11
0
都是牛人,支持!
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-19 17:14
12
0
最初由 softworm 发布
起码对我而言,这个壳还远不到趴下的地步。

2.2.x的vm不是很难,用vm执行的是单条指令,而且大多是壳代码而不是被抽的代码。但修复SDK保护的代码靠眼睛看是重体力活。ExeCryptor还有个麻烦之处,被抽代码的位置被壳代码借道,修复的代码不能马上写回去。

更高版本的没有看过。


感谢softworm大侠的虚拟机分析的文章
我这几天,跟着虚拟机call进入后--代码算出偏移--再保存寄存器的值--调用解密call--根据密码后的值,判断执行什么代码(由于眼力太差,我没有发现哪一条是执行被抽取的代码)...--恢复寄存器---...
问题:
我想问下,被抽的代码是在恢复寄存器之前执行,还是恢复寄存器之后,再执行
雪    币: 217
活跃值: 活跃值 (36)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
softworm 活跃值 30 2006-4-19 20:13
13
0
stolen codes与vm没有直接关系,是夹杂在混淆代码内的。细节我也记不清楚了。
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-20 10:26
14
0
谢谢版主大侠的指点
昨晚上又跟了五个小时,基本上靠猜把被抽掉的代码恢复了,发现90%以上被抽掉的代码都是明码执行,没有在VM里执行,但中间调用了无数次VM,我不知道VM在这里只是起一个迷惑人的作用,还是只起一个干扰分析的代用-----我跟进过好多次vm的call,有的基本上什么都不做,就出来了,而有的执行的代码不是原程序OEP处的代码,这让我百思不得其解

修复OEP处的代码,我是找了一个同样是VC++7.0的程序对照滴,+猜+对代码下访问断点,有点投机取巧----所以就不好意思发出来啦
雪    币: 206
活跃值: 活跃值 (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
鸡蛋壳 活跃值 2006-4-21 08:49
15
0
最初由 酷酷 发布
谢谢版主大侠的指点
昨晚上又跟了五个小时,基本上靠猜把被抽掉的代码恢复了,发现90%以上被抽掉的代码都是明码执行,没有在VM里执行,但中间调用了无数次VM,我不知道VM在这里只是起一个迷惑人的作用,还是只起一个干扰分析的代用-----我跟进过好多次vm的call,有的基本上什么都不做,就出来了,而有的执行的代码不是原程序OEP处的代码,这让我百思不得其解

修复OEP处的代码,我是找了一个同样是VC++7.0的程序对照滴,+猜+对代码下访问断点,有点投机取巧----所以就不好意思发出来啦


除了搜索特征码外有什么更快的方法直达IAT处理函数?
0071B882      E8 D4E80000      call <zhengtu.Get涵数校验值>//以上为该涵数的运算
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-21 09:08
16
0
我是把这壳自已模拟的这个GetProcAddress跟了一篇
eax传递API名校验值,edx传递模块句柄值
没有用搜所特征码,并且这个涵数里面又分成几个涵数执行,我感觉,跟过一篇后,很容易到达IAT的处理
(我没有找到能够用的特征码,壳里面的代码已经被改的面目全非...)
雪    币: 201
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
酷酷 活跃值 2006-4-21 09:19
17
0
昨晚上更新了一下这个程序新加的这个壳,发现又出新招了

用的异常代码有 lock int1,lock int3 这样的异常指令,也不知道是OD的bug还是我这里设置不对,不管我怎么勿略异常,OD都过不了

后来无奈之下,找SoftICE,但弄了几个小时,发现SoftICE并不是想像中的那么容易使用,不适合脱这壳

--------使出杀手招:在壳把壳的代码解出来之后,手动到这些 Lock int..之类的地方改成 int 3   我一共改了四个地方,就跑到了OEP处
游客
登录 | 注册 方可回帖
返回