能力值:
( LV3,RANK:20 )
|
-
-
151 楼
那你还原吧 也就几句汇编代码
|
能力值:
( LV2,RANK:10 )
|
-
-
152 楼
呵呵
算了
夏虫不可与冰语
LZ继续自得吧
|
能力值:
( LV2,RANK:10 )
|
-
-
153 楼
他没有让你爆破
|
能力值:
( LV3,RANK:20 )
|
-
-
154 楼
如果S牛吧模拟CPU分析透了 你还是来看一下吧
毕竟你也是做程序的 这是一种新技术 不然你永远也不知道什么是模拟cpu了
|
能力值:
( LV2,RANK:10 )
|
-
-
155 楼
我想这个帖我大哥不会回复了
|
能力值:
( LV3,RANK:30 )
|
-
-
156 楼
我没有爆破啊,我只是不知道楼主所说的还原是什么,当然我是完全不懂的,
当然如果随意让它弹 MssageBoxA 一百几十次那倒应该。估计。勉强可以的。
最后回复此贴,并声明 完全投降,完全搞不定
|
能力值:
( LV4,RANK:50 )
|
-
-
157 楼
小Z 介绍你大哥给我认识呗~
|
能力值:
( LV3,RANK:20 )
|
-
-
158 楼
"yingyue"的分析完全还属于门外汉 还根本不懂是么叫模拟cpu 建议先去网上学习
|
能力值:
( LV3,RANK:30 )
|
-
-
159 楼
你说得太对了,请你推荐一些资料吧,真的完全不懂
|
能力值:
( LV3,RANK:20 )
|
-
-
160 楼
你或许还停留在vmp 去看看intel的三个说明文档吧
|
能力值:
( LV3,RANK:30 )
|
-
-
161 楼
不用了,由于你的 “模拟CPU” 强悍得远胜 VMP ,而恰好 VMP 我同样是处于完全不懂的阶段,国产保护系统就靠你了。
这次真的不会再跟帖了,太深奥了。前面的当看热闹。。。。只是玩笑 O(∩_∩)O哈哈~
|
能力值:
( LV6,RANK:90 )
|
-
-
162 楼
没玩过破解没玩过vmp,小小的crakeme也没玩过
只是对楼主说的模拟cpu很神秘,因为楼主每次开坛我都看不懂00!
花了1个小时尝试用od跟了跟。
楼主是不是 先把源程序加了个壳。。然后把pe分成几个部分保存在GUI-宿主.exe里。运行的时候,分配一个大块虚拟内存256M,这个开始用来容纳源程序头。再分配若干个区域用于提取其他部分,然后逐步把其他部分加到这个区域,再运行。感觉源程序被楼主加了个壳。。还好像有些垃圾指令啥滴。
总之,一头雾水,不懂不懂。。跟楼主不是一个层次级别的。从头至尾楼主的帖子偶都看不懂,本人太菜了00!
佩服佩服!!
|
能力值:
(RANK:1290 )
|
-
-
163 楼
调了一下。 终于知道什么是LZ称做的CPU模拟了。 的确不是VMP。 把要保护的指令偷出来,然后每次执行时写入到一个内存里, 跳入到那个内存执行,执行完毕后 跳回到一个貌似切栈操作的地方,然后周而复始的继续。 OD加载F9 弹出MESSAGEBOX 。 下断MessageBoxa. 点是或者否 都成 进入 一个函数。懒的分析了 貌似是切栈之类的。 用了N多的E8 2 FF 25 这样的花指令直接NOP修复即可 最后跳转到一个每次执行指令写指令的地方,里面的内容大约是
00200000 B8 01000000 MOV EAX,1
00200005 90 NOP
00200006 90 NOP
00200007 90 NOP
00200008 90 NOP
00200009 - FF25 16002000 JMP DWORD PTR DS:[200016]
0020000F FF25 00000000 JMP DWORD PTR DS:[0]
00200015 00942A A8010000 ADD BYTE PTR DS:[EDX+EBP+1A8],DL
第1行就是保护的代码。。。 在最后跳转到200016存储的地址。 这个地址保存的也是应该是切栈操作函数。切回的操作
弹出MessageBox前
mov eax, 1
cmp eax, 1
push 4
push 403000
push 403000
push 0
点1次是
ret
push 4
push 403000
push 403000
push 0
点2次是
ret
push 4
点3次是
ret
push 0
是这样吗????
|
能力值:
( LV2,RANK:10 )
|
-
-
164 楼
内存——》模拟CPU?
不是很懂.!
LS 的兄弟很猛!
|
能力值:
( LV9,RANK:180 )
|
-
-
165 楼
w哥
把我ID编辑掉吧. 好像春天到了要找我喇舌
|
能力值:
( LV4,RANK:50 )
|
-
-
166 楼
走,请你换机油去~
|
能力值:
( LV9,RANK:180 )
|
-
-
167 楼
那就送给你好了
00401000 B8 01000000 mov eax, 1
00401005 83F8 01 cmp eax, 1
00401008 75 25 jnz short 0040102F
0040100A E8 0C000000 call 0040101B
0040100F E8 07000000 call 0040101B
00401014 E8 02000000 call 0040101B
00401019 EB 14 jmp short 0040102F
0040101B 6A 04 push 4
0040101D 68 00304000 push 00403000
00401022 68 00304000 push 00403000
00401027 6A 00 push 0
00401029 E8 08000000 call <jmp.&user32.MessageBoxA>
0040102E C3 retn
0040102F 6A 00 push 0
00401031 E8 06000000 call <jmp.&kernel32.ExitProcess>
00401036 FF25 08204000 jmp [<&user32.MessageBoxA>]
0040103C FF25 00204000 jmp [<&kernel32.ExitProcess>]
|
能力值:
( LV2,RANK:10 )
|
-
-
168 楼
我看不太懂。难道被楼上的还原了?????
|
能力值:
( LV12,RANK:750 )
|
-
-
169 楼
可怜的楼主,呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
170 楼
有时候就感觉LZ只要出现,就是一场大风波,一场超级大杯具....默哀中...
等待优秀加壳架构师,等待国内“模拟CPU”鼻祖...
|
能力值:
( LV2,RANK:10 )
|
-
-
171 楼
太让我失望了
|
能力值:
( LV2,RANK:10 )
|
-
-
172 楼
说句实话,我挺菜的,可也没楼主这么高调.菜地高调
|
能力值:
( LV9,RANK:220 )
|
-
-
173 楼
一早来 发现S牛已经出手了
只是处理了几条指令 其他的诸如MOV/CMP/PUSH/RETN都没有模拟
003F0004 00 00 05 00 00 00 00 00 B8 01 00 00 00 00 00 00 .......?...... 003F0014 00 00 00 00 00 00 03 00 00 00 00 00 83 F8 01 00 ...........凐. 003F0024 00 00 00 00 00 00 00 00 03 00 02 00 00 00 00 00 .............. 003F0034 03 25 00 00 00 00 00 00 00 00 00 00 01 00 05 00 %............ 003F0044 0C 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 ............... 003F0054 01 00 05 00 07 00 00 00 FF 00 00 00 00 00 00 00 ............ 003F0064 00 00 00 00 01 00 05 00 02 00 00 00 FF 00 00 00 ............ 003F0074 00 00 00 00 00 00 00 00 02 00 02 00 14 00 00 00 ............. 003F0084 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 .............. 003F0094 00 00 00 00 6A 04 00 00 00 00 00 00 00 00 00 00 ....j.......... 003F00A4 00 00 05 00 00 00 00 00 68 00 30 40 00 00 00 00 .......h.0@.... 003F00B4 00 00 00 00 00 00 05 00 00 00 00 00 68 00 30 40 ...........h.0@ 003F00C4 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 ............... 003F00D4 6A 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 j............. 003F00E4 08 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 .............. 003F00F4 00 00 01 00 00 00 00 00 C3 00 00 00 00 00 00 00 .......?...... 003F0104 00 00 00 00 00 00 02 00 00 00 00 00 6A 00 00 00 ...........j... 003F0114 00 00 00 00 00 00 00 00 01 00 05 00 06 00 00 00 ............. 003F0124 FF 00 00 00 00 00 00 00 00 00 00 00 02 00 06 01 ............ 003F0134 08 20 40 00 FF 00 00 00 00 00 00 00 00 00 00 00 @............ 003F0144 02 00 06 01 00 20 40 00 FF 00 00 00 00 00 00 00 .. @........ 003F0154 00 00 00 00 ....
从003F0004开始 每14字节代表一条指令
以01,02,03,04开头的为模拟指令,本例中只出现了3中模拟.另外以00开头的为真实指令.
模拟:
01为CALL,003F0040为例,第5字节的0C为地址长度.即CALL EIP+5+0C
02为JMP ,以003F007C处为例 第3字节的02代表指令长度,即2字节的JMP,也就是EB,第5字节的14为地址长度.即JMP EIP+5+14
02还有一种是第4字节为1.则为JMP [XX].
03为JCC.以003F002C 为例 第3字节的02代表指令长度,即2字节的JCC,第9字节的03代表JCC类型,即JNZ(?),第A字节的25为地址长度,即JNZ EIP+5+25
04此例没出现.如下
003E2D29 /75 05 jnz short 003E2D30 003E2D2B ^|E9 4EFCFFFF jmp 003E297E 003E2D30 \0FBE05 70623E00 movsx eax,byte ptr ds:[3E6270] 003E2D37 0FBE0D 0E603E00 movsx ecx,byte ptr ds:[3E600E] 003E2D3E 3BC1 cmp eax,ecx 003E2D40 75 05 jnz short 003E2D47 003E2D42 ^ E9 1FF7FFFF jmp 003E2466 003E2D47 0FBE05 70623E00 movsx eax,byte ptr ds:[3E6270] 003E2D4E 0FBE0D 0F603E00 movsx ecx,byte ptr ds:[3E600F] 003E2D55 3BC1 cmp eax,ecx 003E2D57 75 05 jnz short 003E2D5E 003E2D59 ^ E9 41FAFFFF jmp 003E279F 003E2D5E 0FBE05 70623E00 movsx eax,byte ptr ds:[3E6270] 003E2D65 0FBE0D 12603E00 movsx ecx,byte ptr ds:[3E6012] 003E2D6C 3BC1 cmp eax,ecx 003E2D6E 75 05 jnz short 003E2D75 003E2D70 ^ E9 FDFDFFFF jmp 003E2B72 003E2D75 0FBE05 70623E00 movsx eax,byte ptr ds:[3E6270] 003E2D7C 0FBE0D 13603E00 movsx ecx,byte ptr ds:[3E6013] 003E2D83 3BC1 cmp eax,ecx 003E2D85 75 05 jnz short 003E2D8C 003E2D87 ^ E9 6EFEFFFF jmp 003E2BFA
真实:
00类为真实指令.以003F0004为例.第3字节的05代表指令长度,即从第9字节开始的长度为5的一条汇编指令.此处即为MOV EAX,1,即B801000000
他只是把这条指令搬到申请的内存空间执行罢了.
本来只是看看不说话的 不过LZ频繁调戏我 我只能调戏回去了
按照以上分析 最后结果和S牛一样.
|
能力值:
( LV2,RANK:10 )
|
-
-
174 楼
幻觉,一切都是幻觉,楼主都说了不能还原了,怎么可能被还原呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
175 楼
2010-05-11, 20:37:46 到 2010-05-12, 08:42:44 好长久,
TMD,ZP,TTP,VMP等强壳完全做不到
|
|
|