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

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

2006-4-11 16:35
8924
收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 298
活跃值: (445)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
2
越来越酷了!
2006-4-11 16:42
0
雪    币: 201
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵,快酷陛了
用TC命令跟了一下,执行被抽掉OEP的代码的指令数,是以万为单位,我没有办法跟了....
2006-4-11 16:57
0
雪    币: 193
活跃值: (1379)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
hehe!

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

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

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

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

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

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

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

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

更高版本的没有看过。


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

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

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


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

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

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

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