首页
社区
课程
招聘
[脚本+补区段]-ASProtect 2.1x SKE-文件夹保护 2006 2.10
发表于: 2006-6-12 07:55 21852

[脚本+补区段]-ASProtect 2.1x SKE-文件夹保护 2006 2.10

cyto 活跃值
31
2006-6-12 07:55
21852
收藏
免费 7
支持
分享
最新回复 (68)
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
26
【求助】
我的地址
012F02EC    6A 74           push 74                                 ; 00040E8BD
012F0466    E8 95FB0700     call 01370000

0137015A    35 208A1101     xor eax,1118A20
0137015F    2BCE            sub ecx,esi
01370161    2BCD            sub ecx,ebp
01370163    FFD1            call ecx
01370165    68 4EE94400     push 44E94E

cyto的地址:
017002EC      6A 74              push 74                           ; 00040E8BD
01700466      E8 95FB0700        call 01780000
0178015A      FFD3               call ebx                          ; ebx=014D8A20


到了XXX15A这里不一样了.怎么办?(跟不下去了. )

感谢cyto回答...继续学习.
2006-6-20 15:51
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
27
最初由 whale 发布
【求助】
我的地址
[CODE]012F02EC 6A 74 push 74 ; 00040E8BD
012F0466 E8 95FB0700 call 01370000

........


伪OEP及变形代码在不同机子上不一样。
不要根据前面的代码找,最笨的方法就是遇call就跟进,跟多了就发现了路。
或者对全部区段下断的方法。
2006-6-20 16:00
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
28
用到如下区段:
解码用:014B0000-01500000



请问这个区段是如何确定的?

了解了.多谢哈.
2006-6-20 16:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
学习中,谢谢楼主了啊
2006-6-20 17:13
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
谢谢楼主,支持并学习!
2006-6-20 17:19
0
雪    币: 224
活跃值: (75)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
31
最初由 鸡蛋壳 发布
很简单,到达入口后,在每个可疑内存区段下访问断点,一路F9下去,没有断点的内存区段自然就是必须的VM区段了。
一语道破
2006-6-20 18:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
正好需要这个,呵
2006-6-22 12:51
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
33
最初由 xiaoboy 发布
一语道破

假如全在内存下断点的话.这些代码是否还要参考?

017002EC      6A 74              push 74                           ; 00040E8BD
01700466      E8 95FB0700        call 01780000
0178015A      FFD3               call ebx                          ; ebx=014D8A20
014D8A69      FFD0               call eax                          ; eax=016D0000
014D8AAF      E8 D4FDFFFF        call 014D8888
014D89EB    - FF60 20            jmp dword ptr ds:[eax+20]         ; ds:[01510E48]=01790000
017900AD    - FF6424 FC          jmp dword ptr ss:[esp-4]          ; 堆栈 ss:[0012FF4C]=01700A9B


PS:留个下载页面
http://xz.94888.net/%E8%BD%AF%E4%BB%B6%E4%B8%8B%E8%BD%BD/49826/
2006-6-23 17:36
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
34
最初由 whale 发布
假如全在内存下断点的话.这些代码是否还要参考?

[CODE]017002EC 6A 74 push 74 ; 00040E8BD
01700466 E8 95FB0700 call 01780000
0178015A FFD3 call ebx ; ebx=014D8A20
........


不用了。
2006-6-23 19:44
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
35
再问一下细节上的问题:导出区段
Region010F0000-01133000.dmp
导入后如图:
这不够400000.怎么办?[IMG]

原来如此。(原以为在现在的地址-400000呢,感谢cyto耐心解答)
上传的附件:
2006-6-23 20:44
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
36
我这里刚好有一个东西
用此补区段法不能够完成
楼主可否试试?
http://219.134.128.56/cgi-bin/dl/53CA5A77F141455B86C7A01DA10B591574F802834741F367E1C2E05F595C255F07D64586873C15EFE88D4ABEC71764E1BCA73960D8E0605C02B1DF61A06868D719C9F32F7D8DAA99585B33DC8DDC75B3827314B1F356BE8BD1F6/123.rar
2006-6-24 01:52
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
37
最初由 whale 发布
再问一下细节上的问题:导出区段
Region010F0000-01133000.dmp
导入后如图:
这不够400000.怎么办?[IMG]

比如是导入010F0000,那么把00188000修改成010F0000-400000=00CF0000
2006-6-24 07:24
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
38
感谢cyto耐心解答
终于跟下脱完啦。最后只是不晓得为何要这么改,能简单说明下么?

014D8A66      3E:8B4424 58       mov eax,dword ptr ds:[esp+58]         // 修改处

014D8A6B      90                 nop

014D8A6C      83E8 05            sub eax,5

014D8A6F      90                 nop

014D8A70      90                 nop                                   // 修改处
2006-6-25 07:14
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
39
最初由 whale 发布
感谢cyto耐心解答
终于跟下脱完啦。最后只是不晓得为何要这么改,能简单说明下么?

[CODE]014D8A66 3E:8B4424 58 mov eax,dword ptr ds:[esp+58] // 修改处

........


这个参考SYSCOM的大作。
以下引用:
  //////////////////////////////////////////////////////////////////////////////////////////////
  Route CHECK,算是壳的自我检查,它是由 A,B 两数值,作互减运算。
  
  A=GetCurrentThreadID
  B=CALL Route Address
  
  运算后 ...
  B=B-A
  
  当你脱壳之后,B=会发生错误 ERROR 111 ,所以我们只要,抓出正确的 CALL Route Address,就可以通过  CHECK SUM ,也就是在 [ESP+58],的 STACK 位址。所以我们使用
  MOV  EAX,[ESP+58] ,来还原 B 值 +5 后修正 B 值 Address
  
  9F70CE-MOV  EAX,[EAX+34]  
  9F70D1-CALL EAX              =>  GetCurrentThreadID
  9FD0D3-SUB  [EBP+C],EAX      =>  B=B-A
  9FD0D6-MOV  EAX,[ENP+C]   
  //////////////////////////////////////////////////////////////////////////////////////////////

我跟踪后的理解:
[ESP+58]的值-5刚好=B-A
2006-6-25 08:25
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
最初由 chinadev 发布
我这里刚好有一个东西
用此补区段法不能够完成
楼主可否试试?
http://219.134.128.56/cgi-bin/dl/53CA5A77F141455B86C7A01DA10B591574F802834741F367E1C2E05F595C255F07D64586873C15EFE88D4ABEC71764E1BCA73960D8E0605C02B1DF61A06868D719C9F32F7D8DAA99585B33DC8DDC75B3827314B1F356BE8BD1F6/123.rar


脱这个时脚本自动建了个SCafAPI.BIN的文件,,这个文件要怎么处理
2006-6-25 11:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
支持一下!!!
2006-6-25 11:31
0
雪    币: 200
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
支持支持!!!!
2006-6-25 12:24
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
43
最初由 kmjyq 发布
脱这个时脚本自动建了个SCafAPI.BIN的文件,,这个文件要怎么处理


运行脚本插件,RESUME,一直到伪OEP或OEP.
2006-6-25 14:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
好贴学习中.......
2006-6-26 10:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
最初由 cyto 发布
这个不一样是正常的,我还碰到连伪OEP都不一样的,而且变形代码也都不一样,估计壳运行申请空间不可能在不一样的机器上得到一样的地址吧?
但是照样可以补区段搞定。
linex很久以前搞的那个IconXP,还有 machenglin 做掉的ccproject,我都试着搞定了,伪OEP都不一样,变形代码也几乎不同,但原理是一样的。
从伪OEP一步步跟下,见call就进,我就是这样跟了n次后就明白了要补的区段。
我所列出的需要补区段的那几行代码就是我认为关键的地方。

好复杂啊。。。。
2006-6-26 19:38
0
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
谢谢楼主,强悍阿~ 这个壳子我一直搞不定
2006-6-26 21:40
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
47
再问个细节问题。是不是load区段时一定要按顺序的?
Region010F0000-01133000.dmp
Region012C0000-012C1000.dmp
Region012F0000-012F3000.dmp
Region014B0000-014B2000.dmp
Region01140000-01154000.dmp
Region01370000-01371000.dmp
Region01380000-01381000.dmp
(全下内存访问断点后有这些中止过)
dump这样load区段可以么?
2006-6-27 21:13
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
48
最初由 whale 发布
再问个细节问题。是不是load区段时一定要按顺序的?
Region010F0000-01133000.dmp
Region012C0000-012C1000.dmp
Region012F0000-012F3000.dmp
Region014B0000-014B2000.dmp
........


我是按顺序来的。
不按顺序Rebuild PE如何搞?
2006-6-27 22:20
0
雪    币: 6533
活跃值: (3966)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
49
0137018D    FFD0            call eax    ; EAX=01118A20,CALL Route Address=01118A20?
0137018F    64:FF35 0000000>push dword ptr fs:[0]
01370196    83E8 4D         sub eax,4D
01370199    B8 12464200     mov eax,dumped_.00424612
0137019E    58              pop eax
0137019F    C8 001901       enter 1900,1
013701A3    C3              retn
--------------------------------------------------------------------------
01118A20....
............
01118A66    8B40 34         mov eax,dword ptr ds:[eax+34]
01118A69    FFD0            call eax   ; dumped_.012C0000,GetCurrentThreadID=01118A69?
01118A6B    2945 0C         sub dword ptr ss:[ebp+C],eax            ; B=B-A?
01118A6E    8B45 0C         mov eax,dword ptr ss:[ebp+C]
01118A71    2B43 18         sub eax,dword ptr ds:[ebx+18]
01118A74    2B43 68         sub eax,dword ptr ds:[ebx+68]
A=01118A20
B=01118A69
PS.不知道这俩地址找的对不对。还是不大会
B-A=49
【求助】后面不懂了。啥意思?
B=B-A?
2006-6-28 20:35
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
50
最初由 whale 发布
0137018D FFD0 call eax ; EAX=01118A20,CALL Route Address=01118A20?
0137018F 64:FF35 0000000>push dword ptr fs:[0]
01370196 83E8 4D sub eax,4D
01370199 B8 12464200 mov eax,dumped_.00424612
0137019E 58 pop eax
........


你还是论坛搜索参考SYSCOM的文章吧。
2006-6-28 22:18
0
游客
登录 | 注册 方可回帖
返回
//