这就好比请你喝一杯可乐问你如何得到可乐的配方,或者给你一张盗版xp光盘,请你就此得到Windows源代码一样。
解决方案 »
- 郁闷,一个SQL语句加上 order by 从句后就出错,请大虾帮忙,100分相送!
- 高手请进,高分求教:关于类模块里创建listview调用多行tooltips模块的问题
- 做一个目录树形式的资源管理控件用什么控件啊?急等!
- 用什么方法可以把两张图片合并成一张打印出来?或者存为一个文件也可
- 关于vb显示特殊字符
- 请问如何把一个普通的Form变成MDIForm?
- 求产生不重复的随机数的算法!!!
- 急,在线等待,高分相送!
- 如何用API函数正确读取、写入注册表的值?
- 结交VB程序员--沈阳
- 关于VB的ClipBoard操作
- bcrun大哥,你好, vbRichClient5库 cWebKit组件的问题,请帮忙
经过这样的步骤,LZ一定可以掌握加密,解密算法。调试器的种类很多。如果只是vb,c、汇编写的程序也不是太难,如果是其他什么C#之列的费劲了。
0049DD13 0F84 5C020000 je 测试.0049DF75
0049DD19 8D45 98 lea eax,dword ptr ss:[ebp-0x68]
0049DD1C 8D4D DC lea ecx,dword ptr ss:[ebp-0x24]
0049DD1F 50 push eax
0049DD20 51 push ecx
0049DD21 C785 50FFFFFF B>mov dword ptr ss:[ebp-0xB0],测试.0040C>; &H
0049DD2B C785 48FFFFFF 0>mov dword ptr ss:[ebp-0xB8],0x8
0049DD35 895D A0 mov dword ptr ss:[ebp-0x60],ebx
0049DD38 895D 98 mov dword ptr ss:[ebp-0x68],ebx
0049DD3B FF15 C8114000 call dword ptr ds:[<&MSVBVM60.__vbaI4Var>; msvbvm60.__vbaI4Var
0049DD41 8B55 14 mov edx,dword ptr ss:[ebp+0x14]
0049DD44 50 push eax;从第几位开始,这里第一次是从第3个开始
0049DD45 8B02 mov eax,dword ptr ds:[edx]
0049DD47 50 push eax
0049DD48 FF15 BC104000 call dword ptr ds:[<&MSVBVM60.#631>] ; msvbvm60.rtcMidCharBstr;从第几位开始截取2个字符。得出eax=E0(第一次截取)
0049DD4E 8D4D 88 lea ecx,dword ptr ss:[ebp-0x78]
0049DD51 8D95 78FFFFFF lea edx,dword ptr ss:[ebp-0x88]
0049DD57 51 push ecx
0049DD58 52 push edx
0049DD59 8945 90 mov dword ptr ss:[ebp-0x70],eax
0049DD5C C745 88 0800000>mov dword ptr ss:[ebp-0x78],0x8
0049DD63 FF15 AC104000 call dword ptr ds:[<&MSVBVM60.#520>] ; msvbvm60.rtcTrimVar
0049DD69 8D85 48FFFFFF lea eax,dword ptr ss:[ebp-0xB8]
0049DD6F 8D8D 78FFFFFF lea ecx,dword ptr ss:[ebp-0x88]
0049DD75 50 push eax
0049DD76 8D95 68FFFFFF lea edx,dword ptr ss:[ebp-0x98]
0049DD7C 51 push ecx
0049DD7D 52 push edx
0049DD7E FFD6 call esi ; msvbvm60.__vbaVarAdd 跟&H连接组合字符串&HE0
0049DD80 50 push eax
0049DD81 8D45 AC lea eax,dword ptr ss:[ebp-0x54]
0049DD84 50 push eax
0049DD85 FF15 60114000 call dword ptr ds:[<&MSVBVM60.__vbaStrVa>; msvbvm60.__vbaStrVarVal 把字符转ascii码 从字符串特点位置上获取其值
0049DD8B 50 push eax;&HE0
0049DD8C FF15 2C124000 call dword ptr ds:[<&MSVBVM60.#581>] ; msvbvm60.rtcR8ValFromBstr //把字符串转换成浮点数
0049DD92 FF15 E0114000 call dword ptr ds:[<&MSVBVM60.__vbaFpI2>>; msvbvm60.__vbaFpI2
0049DD98 8D4D AC lea ecx,dword ptr ss:[ebp-0x54]
0049DD9B 8945 B0 mov dword ptr ss:[ebp-0x50],eax
0049DD9E FF15 28124000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>; msvbvm60.__vbaFreeStr
0049DDA4 8D8D 68FFFFFF lea ecx,dword ptr ss:[ebp-0x98]
0049DDAA 8D95 78FFFFFF lea edx,dword ptr ss:[ebp-0x88]
0049DDB0 51 push ecx
0049DDB1 8D45 88 lea eax,dword ptr ss:[ebp-0x78]
0049DDB4 52 push edx
0049DDB5 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]
0049DDB8 50 push eax
0049DDB9 51 push ecx
0049DDBA 6A 04 push 0x4
0049DDBC FF15 34104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; msvbvm60.__vbaFreeVarList
0049DDC2 83C4 14 add esp,0x14
0049DDC5 66:3B7D B4 cmp di,word ptr ss:[ebp-0x4C]
0049DDC9 7D 0C jge 测试.0049DDD7
0049DDCB 66:83C7 01 add di,0x1
0049DDCF 0F80 62020000 jo 测试.0049E037
0049DDD5 EB 05 jmp 测试.0049DDDC
0049DDD7 BF 01000000 mov edi,0x1
0049DDDC 8B4D 10 mov ecx,dword ptr ss:[ebp+0x10]
0049DDDF 8D55 98 lea edx,dword ptr ss:[ebp-0x68]
0049DDE2 0FBFC7 movsx eax,di
0049DDE5 52 push edx
0049DDE6 8B11 mov edx,dword ptr ds:[ecx];ecx的值是机器码后8位
0049DDE8 50 push eax;eax=1;
0049DDE9 52 push edx;机器码后8位
0049DDEA C745 A0 0100000>mov dword ptr ss:[ebp-0x60],0x1
0049DDF1 895D 98 mov dword ptr ss:[ebp-0x68],ebx
0049DDF4 FF15 BC104000 call dword ptr ds:[<&MSVBVM60.#631>] ; msvbvm60.rtcMidCharBstr;从第一个开始截取,每次截取1个字符
0049DDFA 8BD0 mov edx,eax;(eax 1 E0 on -)
0049DDFC 8D4D AC lea ecx,dword ptr ss:[ebp-0x54]
0049DDFF FF15 00124000 call dword ptr ds:[<&MSVBVM60.__vbaStrMo>; msvbvm60.__vbaStrMove
0049DE05 50 push eax
0049DE06 FF15 40104000 call dword ptr ds:[<&MSVBVM60.#516>] ; msvbvm60.rtcAnsiValueBstr;把字符转为数据,在eax反馈结果
0049DE0C 8B4D B0 mov ecx,dword ptr ss:[ebp-0x50]
0049DE0F 8D95 48FFFFFF lea edx,dword ptr ss:[ebp-0xB8]
0049DE15 33C1 xor eax,ecx
0049DE17 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C];
0049DE1A 66:8985 50FFFFF>mov word ptr ss:[ebp-0xB0],ax;ax=00D1
0049DE21 899D 48FFFFFF mov dword ptr ss:[ebp-0xB8],ebx
0049DE27 FF15 18104000 call dword ptr ds:[<&MSVBVM60.__vbaVarMo>; msvbvm60.__vbaVarMove
0049DE2D 8D4D AC lea ecx,dword ptr ss:[ebp-0x54]
0049DE30 FF15 28124000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>; msvbvm60.__vbaFreeStr;把字符串参数的内存回收 //释放字符串变量
0049DE36 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68];
0049DE39 FF15 1C104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; msvbvm60.__vbaFreeVar //释放对象变量
0049DE3F 66:8B45 BC mov ax,word ptr ss:[ebp-0x44];
0049DE43 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C];
0049DE46 8D95 58FFFFFF lea edx,dword ptr ss:[ebp-0xA8]
0049DE4C 51 push ecx
0049DE4D 52 push edx
0049DE4E 66:8985 60FFFFF>mov word ptr ss:[ebp-0xA0],ax
0049DE55 C785 58FFFFFF 0>mov dword ptr ss:[ebp-0xA8],0x8002
0049DE5F FF15 6C104000 call dword ptr ds:[<&MSVBVM60.__vbaVarTs>; msvbvm60.__vbaVarTstLe
0049DE65 66:85C0 test ax,ax
0049DE68 74 5A je 测试.0049DEC4
0049DE6A 66:8B45 BC mov ax,word ptr ss:[ebp-0x44]
0049DE6E 8D8D 58FFFFFF lea ecx,dword ptr ss:[ebp-0xA8]
0049DE74 66:8985 50FFFFF>mov word ptr ss:[ebp-0xB0],ax
0049DE7B 8D55 C4 lea edx,dword ptr ss:[ebp-0x3C]
0049DE7E 51 push ecx
0049DE7F 8D45 98 lea eax,dword ptr ss:[ebp-0x68]
0049DE82 52 push edx
0049DE83 50 push eax
0049DE84 C785 60FFFFFF F>mov dword ptr ss:[ebp-0xA0],0xFF
0049DE8E 899D 58FFFFFF mov dword ptr ss:[ebp-0xA8],ebx
0049DE94 899D 48FFFFFF mov dword ptr ss:[ebp-0xB8],ebx
0049DE9A FFD6 call esi
0049DE9C 8D8D 48FFFFFF lea ecx,dword ptr ss:[ebp-0xB8]
0049DEA2 50 push eax
0049DEA3 8D55 88 lea edx,dword ptr ss:[ebp-0x78]
0049DEA6 51 push ecx
0049DEA7 52 push edx
0049DEA8 FF15 04104000 call dword ptr ds:[<&MSVBVM60.__vbaVarSu>; msvbvm60.__vbaVarSub 变量相减,在eax中返回
0049DEAE 8BD0 mov edx,eax
0049DEB0 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
0049DEB3 FF15 18104000 call dword ptr ds:[<&MSVBVM60.__vbaVarMo>; msvbvm60.__vbaVarMove
0049DEB9 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]
0049DEBC FF15 1C104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; msvbvm60.__vbaFreeVar
0049DEC2 EB 31 jmp 测试.0049DEF5
0049DEC4 66:8B45 BC mov ax,word ptr ss:[ebp-0x44]
0049DEC8 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
0049DECB 66:8985 60FFFFF>mov word ptr ss:[ebp-0xA0],ax
0049DED2 8D95 58FFFFFF lea edx,dword ptr ss:[ebp-0xA8]
0049DED8 51 push ecx
0049DED9 8D45 98 lea eax,dword ptr ss:[ebp-0x68]
0049DEDC 52 push edx
0049DEDD 50 push eax
0049DEDE 899D 58FFFFFF mov dword ptr ss:[ebp-0xA8],ebx
0049DEE4 FF15 04104000 call dword ptr ds:[<&MSVBVM60.__vbaVarSu>; msvbvm60.__vbaVarSub
0049DEEA 8BD0 mov edx,eax
0049DEEC 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
0049DEEF FF15 18104000 call dword ptr ds:[<&MSVBVM60.__vbaVarMo>; msvbvm60.__vbaVarMove 变体变量赋值(一般用于数值变量) 把变量1赋值给变量2
0049DEF5 8B4D B8 mov ecx,dword ptr ss:[ebp-0x48]
0049DEF8 8D55 C4 lea edx,dword ptr ss:[ebp-0x3C]
0049DEFB 52 push edx
0049DEFC 898D 60FFFFFF mov dword ptr ss:[ebp-0xA0],ecx
0049DF02 C785 58FFFFFF 0>mov dword ptr ss:[ebp-0xA8],0x8
0049DF0C FF15 C8114000 call dword ptr ds:[<&MSVBVM60.__vbaI4Var>; msvbvm60.__vbaI4Var 截取字符串
0049DF12 50 push eax
0049DF13 8D45 98 lea eax,dword ptr ss:[ebp-0x68]
0049DF16 50 push eax
0049DF17 FF15 54114000 call dword ptr ds:[<&MSVBVM60.#608>] ; msvbvm60.rtcVarBstrFromAnsi
0049DF23 8D55 98 lea edx,dword ptr ss:[ebp-0x68]
0049DF26 51 push ecx
0049DF27 8D45 88 lea eax,dword ptr ss:[ebp-0x78]
0049DF2A 52 push edx
0049DF2B 50 push eax
0049DF2C FFD6 call esi;vbaVarAdd ->两个变量值相加
0049DF2E 50 push eax
0049DF2F FF15 28104000 call dword ptr ds:[<&MSVBVM60.__vbaStrVa>; msvbvm60.__vbaStrVarMove
0049DF35 8BD0 mov edx,eax
0049DF37 8D4D B8 lea ecx,dword ptr ss:[ebp-0x48]
0049DF3A FF15 00124000 call dword ptr ds:[<&MSVBVM60.__vbaStrMo>; msvbvm60.__vbaStrMove
0049DF40 8D4D 88 lea ecx,dword ptr ss:[ebp-0x78]
0049DF43 8D55 98 lea edx,dword ptr ss:[ebp-0x68]
0049DF46 51 push ecx
0049DF47 52 push edx
0049DF48 53 push ebx
0049DF49 FF15 34104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; msvbvm60.__vbaFreeVarList
0049DF4F 8B45 B0 mov eax,dword ptr ss:[ebp-0x50]
0049DF52 83C4 0C add esp,0xC
0049DF55 8D8D F8FEFFFF lea ecx,dword ptr ss:[ebp-0x108]
0049DF5B 8945 BC mov dword ptr ss:[ebp-0x44],eax
0049DF5E 8D95 08FFFFFF lea edx,dword ptr ss:[ebp-0xF8]
0049DF64 51 push ecx
0049DF65 8D45 DC lea eax,dword ptr ss:[ebp-0x24]
0049DF68 52 push edx
0049DF69 50 push eax
0049DF6A FF15 1C124000 call dword ptr ds:[<&MSVBVM60.__vbaVarFo>; msvbvm60.__vbaVarForNext
0049DF70 ^ E9 9CFDFFFF jmp 测试.0049DD11
我更懂到的算法发在上面了,可以帮忙看下,他这个算法就是应该是用机器码跟密钥(57B9C8C9CA345DA1EC2565A4E32C50B4DC2367)出明码的572080480120141031
我更懂到的算法发在上面了,可以帮忙看下,他这个算法就是应该是用机器码跟密钥(57B9C8C9CA345DA1EC2565A4E32C50B4DC2367)出明码的572080480120141031你那调试不是都注释了吗。下个断点,运行几次,看看中间过程,就知道算法了。
我汇编可没那么强,呵呵