能力值:
( 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回答...继续学习.
|
能力值:
( LV9,RANK:1250 )
|
-
-
27 楼
最初由 whale 发布 【求助】 我的地址 [CODE]012F02EC 6A 74 push 74 ; 00040E8BD 012F0466 E8 95FB0700 call 01370000
........
伪OEP及变形代码在不同机子上不一样。
不要根据前面的代码找,最笨的方法就是遇call就跟进,跟多了就发现了路。
或者对全部区段下断的方法。
|
能力值:
( LV2,RANK:15 )
|
-
-
28 楼
用到如下区段: 解码用:014B0000-01500000
请问这个区段是如何确定的?
了解了.多谢哈.
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
学习中,谢谢楼主了啊
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
谢谢楼主,支持并学习!
|
能力值:
( LV6,RANK:90 )
|
-
-
31 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
32 楼
正好需要这个,呵
|
能力值:
( 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/
|
能力值:
( LV9,RANK:1250 )
|
-
-
34 楼
最初由 whale 发布 假如全在内存下断点的话.这些代码是否还要参考?
[CODE]017002EC 6A 74 push 74 ; 00040E8BD 01700466 E8 95FB0700 call 01780000 0178015A FFD3 call ebx ; ebx=014D8A20 ........
不用了。
|
能力值:
( LV2,RANK:15 )
|
-
-
35 楼
再问一下细节上的问题:导出区段
Region010F0000-01133000.dmp
导入后如图:
这不够400000.怎么办?[IMG]
原来如此。(原以为在现在的地址-400000呢,感谢cyto耐心解答)
|
能力值:
(RANK:10 )
|
-
-
36 楼
我这里刚好有一个东西
用此补区段法不能够完成
楼主可否试试?
http://219.134.128.56/cgi-bin/dl/53CA5A77F141455B86C7A01DA10B591574F802834741F367E1C2E05F595C255F07D64586873C15EFE88D4ABEC71764E1BCA73960D8E0605C02B1DF61A06868D719C9F32F7D8DAA99585B33DC8DDC75B3827314B1F356BE8BD1F6/123.rar
|
能力值:
( LV9,RANK:1250 )
|
-
-
37 楼
最初由 whale 发布 再问一下细节上的问题:导出区段 Region010F0000-01133000.dmp 导入后如图: 这不够400000.怎么办?[IMG]
比如是导入010F0000,那么把00188000修改成010F0000-400000=00CF0000
|
能力值:
( 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 // 修改处
|
能力值:
( 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
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
最初由 chinadev 发布 我这里刚好有一个东西 用此补区段法不能够完成 楼主可否试试? http://219.134.128.56/cgi-bin/dl/53CA5A77F141455B86C7A01DA10B591574F802834741F367E1C2E05F595C255F07D64586873C15EFE88D4ABEC71764E1BCA73960D8E0605C02B1DF61A06868D719C9F32F7D8DAA99585B33DC8DDC75B3827314B1F356BE8BD1F6/123.rar
脱这个时脚本自动建了个SCafAPI.BIN的文件,,这个文件要怎么处理
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
支持一下!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
支持支持!!!!
|
能力值:
( LV9,RANK:1250 )
|
-
-
43 楼
最初由 kmjyq 发布 脱这个时脚本自动建了个SCafAPI.BIN的文件,,这个文件要怎么处理
运行脚本插件,RESUME,一直到伪OEP或OEP.
|
能力值:
( LV2,RANK:10 )
|
-
-
44 楼
好贴学习中.......
|
能力值:
( LV2,RANK:10 )
|
-
-
45 楼
最初由 cyto 发布 这个不一样是正常的,我还碰到连伪OEP都不一样的,而且变形代码也都不一样,估计壳运行申请空间不可能在不一样的机器上得到一样的地址吧? 但是照样可以补区段搞定。 linex很久以前搞的那个IconXP,还有 machenglin 做掉的ccproject,我都试着搞定了,伪OEP都不一样,变形代码也几乎不同,但原理是一样的。 从伪OEP一步步跟下,见call就进,我就是这样跟了n次后就明白了要补的区段。 我所列出的需要补区段的那几行代码就是我认为关键的地方。
好复杂啊。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
46 楼
谢谢楼主,强悍阿~ 这个壳子我一直搞不定
|
能力值:
( 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区段可以么?
|
能力值:
( LV9,RANK:1250 )
|
-
-
48 楼
最初由 whale 发布 再问个细节问题。是不是load区段时一定要按顺序的? Region010F0000-01133000.dmp Region012C0000-012C1000.dmp Region012F0000-012F3000.dmp Region014B0000-014B2000.dmp ........
我是按顺序来的。
不按顺序Rebuild PE如何搞?
|
能力值:
( 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?
|
能力值:
( 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的文章吧。
|
|
|