今天上电脑课没事做,就写了这个东西出来,主要是想玩下,只要你把特征码定位出来,按照我下面说的来写到文件上,运用下面的代码,就可以把特征码动态加密了,我这里采用的是XOR异或加密,你也可以自己写个可逆算法来加密,自由发挥咯~这个代码之所以那么3D 035D 04 add ebx, dword ptr [ebp+4] ; 重定位
10018040 33C0 xor eax, eax ; eax清零
10018042 8A03 mov al, byte ptr [ebx] ; 获取特征码表的头部,查看是第几个区段
10018044 BA 04000000 mov edx, 4 ; 赋予edx为4,因为这里需要找到对应区段的△K,所以必须第几个区段乘以4个字节
10018049 F7E2 mul edx ; 相乘获得△K在堆栈的地址与EBP差
1001804B 50 push eax ; 把差压进栈
1001804C 03C0 add eax, eax ; 差的倍数
1001804E 290424 sub dword ptr [esp], eax ; 取得差的相反数,因为寄存器不能相减所以我们要获取差的相反数
10018051 43 inc ebx ; 取得特征码
10018052 833B 00 cmp dword ptr [ebx], 0 ; 对比是否是0,如果是0则跳过特征码加密
10018055 74 27 je short 1001807E ; 如果是0代表没有特征码,跳出加密
10018057 B8 03000000 mov eax, 3 ; 赋予eax为3,这里的赋值是因为要把地址写成高高低低原则
1001805C 50 push eax ; 创建一个堆栈
1001805D 33F6 xor esi, esi ; 清零esi,也是做为一个计算器,这个说不清楚,看代码吧
1001805F B9 04000000 mov ecx, 4
特征码加密代码 来自淘豆网m.daumloan.com转载请标明出处.