原帖由 hflywolf 于 2010-3-4 13:11 发表 https://www.chinapyg.com/images/common/back.gif
期待中......
昨天下载这个CM丢进IDA分析的时候,发现VM代码似曾相识。
这才想起曾经拜读过cyclotron大牛的文章.
所以用了一会儿功夫就看明白了CM算法原理
/:014
此CM的VM分析文章在此:《VMCrackME- ... 
非常感谢你啊 /:good /:001, 我不用献丑了 。大家看hflywolf 应该可以明白了				
			
		等忙完现在的任务了 我也把这个入门的VM好好分析一下 
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
        char szName= "0";
        char szKey = "0";
        printf("Please input your name : ");
        scanf("%s",szName);
        unsigned int nCount = 2; // 这里使用__int64也可
        for(unsigned int i = 0 ;i < strlen(szName) ; i++)
        {
                nCount *= *(szName + i);
        }
        nCount += 0x7f;
        nCount &= 4294967295;
        nCount += (5 + 0x0EB);
        itoa(nCount,szKey,10);
        i = strlen(szKey)-1 ;
        printf("Your Key is : ");
        for(int j = i ;j>=0;j--)
        {
                printf("%c",*(szKey+j));
        }
        printf("\r\n");
        return 0;
}				
			
		从这个 CM 中可以理解一下虚拟机的全貌 
(毕竟它是最简单也是最直观的, 它的强度还远比不上 VMP 1.2 )				
			
		跟着大牛们学习VM了..				
			
		下来 搞搞				
			
		学习了!调试了!				
			
		学习了!调试了				
			
		VM可怕的名词,呵呵,留下脚印				
			
		VM前几天搞过,完全没得到进展,感觉有点衰啊