能力值:
( 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 楼
|
能力值:
( 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 楼
我这里刚好有一个东西
用此补区段法不能够完成
楼主可否试试?
34dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0t1I4z5g2)9J5k6e0p5K6y4q4)9J5k6e0p5J5z5q4)9J5k6e0f1$3i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3k6r3I4Q4x3V1j5#2x3@1y4m8y4f1p5%4y4@1j5I4y4o6p5@1y4e0g2n7z5o6k6o6y4@1p5H3x3f1c8m8x3e0m8n7y4e0V1I4y4e0M7@1c8U0R3H3x3U0R3K6y4o6M7@1x3f1j5K6y4U0N6q4x3f1x3J5c8e0l9#2c8U0f1&6y4f1x3J5y4e0g2r3x3o6N6p5y4U0b7#2z5o6j5^5y4K6y4o6x3e0g2q4c8V1f1^5z5p5b7@1b7f1u0q4b7K6M7I4y4K6j5@1c8e0q4n7b7@1p5%4x3K6V1$3x3p5b7^5c8e0l9$3x3o6g2o6x3o6u0n7x3f1c8r3y4U0q4m8x3o6j5^5y4U0S2p5y4K6p5&6b7K6W2r3x3K6u0r3y4@1b7^5c8p5q4m8z5e0V1#2z5o6g2n7x3K6y4p5b7K6S2p5c8p5x3%4y4f1t1K6z5o6t1%4x3K6p5@1b7U0q4r3x3K6f1$3b7V1f1^5b7V1b7I4c8U0k6Q4x3V1j5I4x3U0y4Q4x3X3g2J5j5i4t1`.
|
能力值:
( 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 发布 我这里刚好有一个东西 用此补区段法不能够完成 楼主可否试试? a2fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0t1I4z5g2)9J5k6e0p5K6y4q4)9J5k6e0p5J5z5q4)9J5k6e0f1$3i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3k6r3I4Q4x3V1j5#2x3@1y4m8y4f1p5%4y4@1j5I4y4o6p5@1y4e0g2n7z5o6k6o6y4@1p5H3x3f1c8m8x3e0m8n7y4e0V1I4y4e0M7@1c8U0R3H3x3U0R3K6y4o6M7@1x3f1j5K6y4U0N6q4x3f1x3J5c8e0l9#2c8U0f1&6y4f1x3J5y4e0g2r3x3o6N6p5y4U0b7#2z5o6j5^5y4K6y4o6x3e0g2q4c8V1f1^5z5p5b7@1b7f1u0q4b7K6M7I4y4K6j5@1c8e0q4n7b7@1p5%4x3K6V1$3x3p5b7^5c8e0l9$3x3o6g2o6x3o6u0n7x3f1c8r3y4U0q4m8x3o6j5^5y4U0S2p5y4K6p5&6b7K6W2r3x3K6u0r3y4@1b7^5c8p5q4m8z5e0V1#2z5o6g2n7x3K6y4p5b7K6S2p5c8p5x3%4y4f1t1K6z5o6t1%4x3K6p5@1b7U0q4r3x3K6f1$3b7V1f1^5b7V1b7I4c8U0k6Q4x3V1j5I4x3U0y4Q4x3X3g2J5j5i4t1`.
脱这个时脚本自动建了个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的文章吧。
|
|
|