能力值:
( LV8,RANK:130 )
|
-
-
2 楼
沙发必须自己的。
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
哦,看看效果咯,顶
|
能力值:
( LV9,RANK:460 )
|
-
-
4 楼
不错,学习大力金刚。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
support!
耐心真好~
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
关键是有码,呵呵
|
能力值:
( LV12,RANK:440 )
|
-
-
7 楼
好东西,楼主好人!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
很好的 东西
|
能力值:
( LV8,RANK:120 )
|
-
-
9 楼
好物品啊,先好好学习而后来向楼主讨教。
顺便问下,大菠萝3是何物?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
好人一生平安
单刷就别晚野蛮人啊
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
牛啊 下来看看
|
能力值:
( LV8,RANK:130 )
|
-
-
12 楼
果断换职业玩,挂得不行了。
|
能力值:
( LV13,RANK:530 )
|
-
-
13 楼
太雷人了。。。
|
能力值:
( LV8,RANK:120 )
|
-
-
14 楼
原来是“Diablo”的中文谐音
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
下载学习。感谢lz。。 编译成功。。 很棒
|
能力值:
( LV8,RANK:130 )
|
-
-
16 楼
|
能力值:
( LV8,RANK:130 )
|
-
-
17 楼
顶~~~感谢分享!
|
能力值:
( LV8,RANK:130 )
|
-
-
18 楼
你在分析入口代码的时候,是直接以下面这个作为判断条件的。。这样的错误率会不会很高?
//目标操作数判断, MOV [ESP+Imm],REG/IMM
因为VMP的堆栈变形是
push eax
==>
pushad
mov dword ptr [esp+4], ecx ==> 这条是垃圾代码
mov dword ptr [esp+1C], eax ==> 这条是真正有用的入栈代码
这样你的程序就出错了。呵呵。。
总体来说。。学到了一个虚拟解释执行x86代码的方法了。。thanks...
=================================================
if (m_VMP.bVMP_AnalysisVMP_Entry)//分析虚拟机入口
{
switch(m_VMP.EntryInfo.EntryProcess)
{
case VMP_SaveReg:
if(!strcmp(pDisasm->Instruction.Mnemonic, "mov"))
{
if((pDisasm->Argument1.ArgSize == 32) && //目标操作数判断, MOV [ESP+Imm],REG/IMM
(pDisasm->Argument1.ArgType & MEMORY_TYPE) &&
pDisasm->Argument1.Memory.BaseRegister & REG4)
{
if(pDisasm->Argument2.ArgType & (GENERAL_REG | REGISTER_TYPE)) //源操作数是否寄存器类型, MOV [ESP+Imm],REG
{
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>保存寄存器环境信息<<<<<<<<<<<<<<<<<<<<<<<<<
switch(pDisasm->Argument2.ArgType & 0xffff)
{
case REG0:
m_VMP.EntryInfo.dwStackInfo[dwStackIndex] = REG0;
Insertname(BuffToImageAddress(pDisasm->VirtualAddr), NM_COMMENT, "Save EAX");
Addtolist(pDisasm->VirtualAddr, 1, "Save EAX");
break;
|
能力值:
( LV8,RANK:130 )
|
-
-
19 楼
[QUOTE=hkfans;1076078]你在分析入口代码的时候,是直接以下面这个作为判断条件的。。这样的错误率会不会很高?
//目标操作数判断, MOV [ESP+Imm],REG/IMM
因为VMP的堆栈变形是
push eax
==>
pushad
mov dword ptr [es...[/QUOTE]
恩,测试的程序比较少,难免很多遗漏不足的地方。
我想可以以最后保存寄存器代码为有效寄存器。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
有码,非常感谢分享~
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
亚服 CIKI#1857
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
[QUOTE=hkfans;1076078]你在分析入口代码的时候,是直接以下面这个作为判断条件的。。这样的错误率会不会很高?
还是自己想一个解释执行的机制比较高效..嘿嘿
|
能力值:
( LV12,RANK:310 )
|
-
-
23 楼
学习了 喜欢有码的
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
谢谢分享哈……
|
能力值:
( LV3,RANK:20 )
|
-
-
25 楼
不对啊,大波萝出来不久(98年)我们就这么喊了,怎么到现在还不知道呢?
|
|
|