Word to PDF Converter Pro算法简析+注册机
本帖最后由 fywy 于 2015-5-23 17:25 编辑软件下载地址:http://www.pdf-convert.com/download.htm
Word to PDF Converter Pro V3.5 3.2 M
运行软件输入用户名及注册码后出现提示
---------------------------
Word to PDF Converter Pro
---------------------------
Registration failed, please check your code and try again!
---------------------------
确定
---------------------------
OD查找字符串后找到段首F2后运行程序,重新输入注册码后断下
0040E1DC 8D8F 0C010000 lea ecx,dword ptr ds:
0040E1E2 51 push ecx
0040E1E3 8D5424 38 lea edx,dword ptr ss:
0040E1E7 52 push edx
0040E1E8 E8 B30B0000 call doc2pdf.0040EDA0
0040E1ED 8BD8 mov ebx,eax
0040E1EF 895C24 28 mov dword ptr ss:,ebx
0040E1F3 C68424 48070000>mov byte ptr ss:,0x4
0040E1FB 833D A04B5A00 0>cmp dword ptr ds:,0x0
0040E202 8DB7 08010000 lea esi,dword ptr ds:
0040E208 897424 30 mov dword ptr ss:,esi
0040E20C 75 0A jnz Xdoc2pdf.0040E218
0040E20E BE FDFFFFFF mov esi,-0x3
0040E213 E9 46050000 jmp doc2pdf.0040E75E
0040E218 56 push esi
0040E219 8D8C24 D4040000 lea ecx,dword ptr ss:
0040E220 E8 3B49FFFF call doc2pdf.00402B60
0040E225 53 push ebx
0040E226 8D8C24 D0040000 lea ecx,dword ptr ss:
0040E22D E8 2E49FFFF call doc2pdf.00402B60
0040E232 68 2C010000 push 0x12C
0040E237 8D8424 08060000 lea eax,dword ptr ss:
0040E23E 6A 00 push 0x0
0040E240 50 push eax
0040E241 E8 7A301100 call doc2pdf.005212C0
0040E246 83C4 0C add esp,0xC
<b><font color="#ff0000">0040E249 68 E44F5700 push doc2pdf.00574FE4 ; 常量:ENX4bFRe</font></b>
0040E24E 8D4C24 20 lea ecx,dword ptr ss:
0040E252 E8 292FFFFF call doc2pdf.00401180
0040E257 56 push esi
0040E258 8D4C24 18 lea ecx,dword ptr ss:
0040E25C C68424 4C070000>mov byte ptr ss:,0x5
0040E264 E8 A74DFFFF call doc2pdf.00403010
0040E269 8D4C24 14 lea ecx,dword ptr ss:
0040E26D C68424 48070000>mov byte ptr ss:,0x6
0040E275 E8 76F5FFFF call doc2pdf.0040D7F0
0040E27A 8D4C24 14 lea ecx,dword ptr ss:
0040E27E E8 EDF4FFFF call doc2pdf.0040D770
0040E283 8B7424 14 mov esi,dword ptr ss:
0040E287 8B7E F4 mov edi,dword ptr ds:
0040E28A 85FF test edi,edi
0040E28C 79 0A jns Xdoc2pdf.0040E298
0040E28E 68 57000780 push 0x80070057
0040E293 E8 F82DFFFF call doc2pdf.00401090
0040E298 8B46 F8 mov eax,dword ptr ds:
0040E29B B9 01000000 mov ecx,0x1
0040E2A0 2B4E FC sub ecx,dword ptr ds:
0040E2A3 2BC7 sub eax,edi
0040E2A5 0BC1 or eax,ecx
0040E2A7 7D 0E jge Xdoc2pdf.0040E2B7
0040E2A9 57 push edi
0040E2AA 8D4C24 18 lea ecx,dword ptr ss:
0040E2AE E8 AD33FFFF call doc2pdf.00401660
0040E2B3 8B7424 14 mov esi,dword ptr ss:
0040E2B7 8D4F 01 lea ecx,dword ptr ds:
0040E2BA 51 push ecx
0040E2BB 56 push esi
<b><font color="#ff0000">0040E2BC E8 32011100 call doc2pdf.0051E3F3 ; 用户名转成大写</font></b>
0040E2C1 83C4 08 add esp,0x8
0040E2C4 3B7E F8 cmp edi,dword ptr ds:
0040E2C7^ 7F C5 jg Xdoc2pdf.0040E28E
0040E2C9 33C0 xor eax,eax
0040E2CB 68 2C010000 push 0x12C
0040E2D0 50 push eax
0040E2D1 894424 34 mov dword ptr ss:,eax
0040E2D5 894424 20 mov dword ptr ss:,eax
0040E2D9 8D8424 DC040000 lea eax,dword ptr ss:
0040E2E0 33D2 xor edx,edx
0040E2E2 897E F4 mov dword ptr ds:,edi
0040E2E5 50 push eax
0040E2E6 66:89147E mov word ptr ds:,dx
0040E2EA E8 D12F1100 call doc2pdf.005212C0
0040E2EF 83C4 0C add esp,0xC
0040E2F2 56 push esi
0040E2F3 8D5C24 30 lea ebx,dword ptr ss:
0040E2F7 E8 746A0000 call doc2pdf.00414D70
0040E2FC 8B7C24 30 mov edi,dword ptr ss: ; (ASCII "FYWY")
0040E300 83C4 04 add esp,0x4
0040E303 8BCF mov ecx,edi
0040E305 8D9424 D4040000 lea edx,dword ptr ss:
<b><font color="#ff0000">0040E30C 85FF test edi,edi ; ;----------验证用户名是否全部为字母-----------
0040E30E 0F84 0E070000 je doc2pdf.0040EA22
0040E314 803F 00 cmp byte ptr ds:,0x0
0040E317 74 22 je Xdoc2pdf.0040E33B
0040E319 8DA424 00000000 lea esp,dword ptr ss:
0040E320 8A01 mov al,byte ptr ds:
0040E322 3C 61 cmp al,0x61
0040E324 7C 04 jl Xdoc2pdf.0040E32A
0040E326 3C 7A cmp al,0x7A
0040E328 7E 08 jle Xdoc2pdf.0040E332
0040E32A 3C 41 cmp al,0x41
0040E32C 7C 07 jl Xdoc2pdf.0040E335
0040E32E 3C 5A cmp al,0x5A
0040E330 7F 03 jg Xdoc2pdf.0040E335
0040E332 8802 mov byte ptr ds:,al
0040E334 42 inc edx
0040E335 41 inc ecx
0040E336 8039 00 cmp byte ptr ds:,0x0
0040E339^ 75 E5 jnz Xdoc2pdf.0040E320 ; ;-------------------------------------------</font></b>
0040E33B 8B4C24 1C mov ecx,dword ptr ss: ; UNICODE "ENX4bFRe")
0040E33F 51 push ecx
0040E340 8D5C24 1C lea ebx,dword ptr ss:
0040E344 E8 276A0000 call doc2pdf.00414D70
0040E349 8B5C24 1C mov ebx,dword ptr ss:
0040E34D 83C4 04 add esp,0x4
0040E350 53 push ebx
0040E351 8D9424 D8040000 lea edx,dword ptr ss:
0040E358 68 2C010000 push 0x12C
0040E35D 52 push edx
0040E35E E8 1F1C1100 call doc2pdf.0051FF82
<b><font color="#ff0000">0040E363 8D8424 E0040000 lea eax,dword ptr ss: ; 用户名+“ENX4bFRe”重新构成一个字符串</font></b>
0040E36A 83C4 0C add esp,0xC
0040E36D 8D50 01 lea edx,dword ptr ds:
0040E370 8A08 mov cl,byte ptr ds:
0040E372 40 inc eax
0040E373 84C9 test cl,cl
0040E375^ 75 F9 jnz Xdoc2pdf.0040E370
0040E377 2BC2 sub eax,edx
0040E379 8D8C24 D4040000 lea ecx,dword ptr ss:
0040E380 51 push ecx
0040E381 40 inc eax
0040E382 50 push eax
0040E383 8D9424 0C060000 lea edx,dword ptr ss:
0040E38A 52 push edx
0040E38B E8 931B1100 call doc2pdf.0051FF23
0040E390 83C4 0C add esp,0xC
0040E393 57 push edi
0040E394 E8 BCE10000 call doc2pdf.0041C555
0040E399 83C4 04 add esp,0x4
0040E39C 85DB test ebx,ebx
0040E39E 74 09 je Xdoc2pdf.0040E3A9
0040E3A0 53 push ebx
0040E3A1 E8 AFE10000 call doc2pdf.0041C555
0040E3A6 83C4 04 add esp,0x4
0040E3A9 8D46 F0 lea eax,dword ptr ds:
0040E3AC C68424 48070000>mov byte ptr ss:,0x5
0040E3B4 8D48 0C lea ecx,dword ptr ds:
0040E3B7 83CA FF or edx,0xFFFFFFFF
0040E3BA F0:0FC111 lock xadd dword ptr ds:,edx
0040E3BE 4A dec edx
0040E3BF 85D2 test edx,edx
0040E3C1 7F 0A jg Xdoc2pdf.0040E3CD
0040E3C3 8B08 mov ecx,dword ptr ds:
0040E3C5 8B11 mov edx,dword ptr ds:
0040E3C7 50 push eax
0040E3C8 8B42 04 mov eax,dword ptr ds:
0040E3CB FFD0 call eax
0040E3CD C68424 48070000>mov byte ptr ss:,0x4
0040E3D5 8B4424 1C mov eax,dword ptr ss:
0040E3D9 83C0 F0 add eax,-0x10
0040E3DC 8D48 0C lea ecx,dword ptr ds:
0040E3DF 83CA FF or edx,0xFFFFFFFF
0040E3E2 F0:0FC111 lock xadd dword ptr ds:,edx
0040E3E6 4A dec edx
0040E3E7 85D2 test edx,edx
0040E3E9 7F 0A jg Xdoc2pdf.0040E3F5
0040E3EB 8B08 mov ecx,dword ptr ds:
0040E3ED 8B11 mov edx,dword ptr ds:
0040E3EF 50 push eax
0040E3F0 8B42 04 mov eax,dword ptr ds:
0040E3F3 FFD0 call eax
0040E3F5 8D8424 04060000 lea eax,dword ptr ss:
0040E3FC 8D50 01 lea edx,dword ptr ds:
0040E3FF 90 nop
0040E400 8A08 mov cl,byte ptr ds:
0040E402 40 inc eax
0040E403 84C9 test cl,cl
0040E405^ 75 F9 jnz Xdoc2pdf.0040E400
0040E407 2BC2 sub eax,edx
0040E409 8BD8 mov ebx,eax
0040E40B 8D8C24 04060000 lea ecx,dword ptr ss:
0040E412 8D7C24 10 lea edi,dword ptr ss:
0040E416 E8 55E1FFFF call doc2pdf.0040C570
0040E41B C68424 48070000>mov byte ptr ss:,0x7
0040E423 8B4C24 10 mov ecx,dword ptr ss:
0040E427 8B79 F4 mov edi,dword ptr ds:
0040E42A 85FF test edi,edi
0040E42C 79 0A jns Xdoc2pdf.0040E438
0040E42E 68 57000780 push 0x80070057
<font color="#ff0000"><b>0040E433 E8 582CFFFF call doc2pdf.00401090 ; 对上面字符串进行MD5运算得到一串字符UNICODE "008c4ffe46f7fcb21c138ba4a9e36a43"</b></font>
0040E438 8B41 F8 mov eax,dword ptr ds:
0040E43B BA 01000000 mov edx,0x1
0040E440 2B51 FC sub edx,dword ptr ds:
0040E443 2BC7 sub eax,edi
0040E445 0BC2 or eax,edx
0040E447 7D 0E jge Xdoc2pdf.0040E457
0040E449 57 push edi
0040E44A 8D4C24 14 lea ecx,dword ptr ss:
0040E44E E8 0D32FFFF call doc2pdf.00401660
0040E453 8B4C24 10 mov ecx,dword ptr ss:
0040E457 8D57 01 lea edx,dword ptr ds:
0040E45A 52 push edx
0040E45B 51 push ecx
<b><font color="#ff0000">0040E45C E8 92FF1000 call doc2pdf.0051E3F3 ; 对MD5后的结果转换成大写字符 NICODE "008C4FFE46F7FCB21C138BA4A9E36A43"</font></b>
0040E461 8B4424 18 mov eax,dword ptr ss:
0040E465 83C4 08 add esp,0x8
0040E468 3B78 F8 cmp edi,dword ptr ds:
0040E46B^ 0F8F 1DFEFFFF jg doc2pdf.0040E28E
0040E471 8978 F4 mov dword ptr ds:,edi
<b><font color="#ff0000">0040E474 8B4C24 10 mov ecx,dword ptr ss: ; ;-----对MD5中的部分数字字行进行替换--------
0040E478 6A 5A push 0x5A ; 字母Z
0040E47A 33C0 xor eax,eax
0040E47C 6A 31 push 0x31 ; 数字字符1
0040E47E 8D5C24 18 lea ebx,dword ptr ss:
0040E482 66:890479 mov word ptr ds:,ax
0040E486 E8 F549FFFF call doc2pdf.00402E80
0040E48B 6A 57 push 0x57 ; 字母W
0040E48D 6A 32 push 0x32 ; 数字字符2
0040E48F E8 EC49FFFF call doc2pdf.00402E80
0040E494 6A 4B push 0x4B ; 字母K
0040E496 6A 30 push 0x30 ; 数字字符0
0040E498 E8 E349FFFF call doc2pdf.00402E80
0040E49D 6A 54 push 0x54 ; 字母T
0040E49F 6A 33 push 0x33 ; 数字字符3
0040E4A1 E8 DA49FFFF call doc2pdf.00402E80
0040E4A6 6A 50 push 0x50 ; 字母P
0040E4A8 6A 38 push 0x38 ; 数字字符8
0040E4AA E8 D149FFFF call doc2pdf.00402E80
0040E4AF 6A 53 push 0x53 ; 字母S
0040E4B1 6A 37 push 0x37 ; 数字字符7
0040E4B3 E8 C849FFFF call doc2pdf.00402E80 ; 替换后的字符串UNICODE "KKPC4FFE46FSFCBWZCZTPBA4A9ET6A4T"
0040E4B8 6A 0C push 0xC ; 取转后的12位作为注册码</font></b>
0040E4BA 8D5424 1C lea edx,dword ptr ss:
0040E4BE 52 push edx
0040E4BF 8BCB mov ecx,ebx
0040E4C1 E8 4A49FFFF call doc2pdf.00402E10
0040E4C6 6A 0C push 0xC
0040E4C8 8D4424 24 lea eax,dword ptr ss:
0040E4CC C68424 4C070000>mov byte ptr ss:,0x8
0040E4D4 8B4C24 2C mov ecx,dword ptr ss:
0040E4D8 50 push eax
0040E4D9 E8 3249FFFF call doc2pdf.00402E10
0040E4DE C68424 48070000>mov byte ptr ss:,0x9
0040E4E6 8B00 mov eax,dword ptr ds:
0040E4E8 33C9 xor ecx,ecx
0040E4EA 33F6 xor esi,esi
0040E4EC 3BC6 cmp eax,esi
0040E4EE 0F95C1 setne cl
0040E4F1 3BCE cmp ecx,esi
0040E4F3 75 0A jnz Xdoc2pdf.0040E4FF
0040E4F5 68 05400080 push 0x80004005
0040E4FA E8 912BFFFF call doc2pdf.00401090
0040E4FF 8B7C24 18 mov edi,dword ptr ss:
0040E503 50 push eax
0040E504 57 push edi
0040E505 E8 03001100 call doc2pdf.0051E50D
0040E50A 83C4 08 add esp,0x8
0040E50D 3BC6 cmp eax,esi
0040E50F C68424 48070000>mov byte ptr ss:,0x8
0040E517 8B4424 20 mov eax,dword ptr ss:
0040E51B 0F94C3 sete bl
0040E51E 83C0 F0 add eax,-0x10
0040E521 8D48 0C lea ecx,dword ptr ds:
0040E524 83CA FF or edx,0xFFFFFFFF
0040E527 F0:0FC111 lock xadd dword ptr ds:,edx
0040E52B 4A dec edx
0040E52C 85D2 test edx,edx
0040E52E 7F 0A jg Xdoc2pdf.0040E53A
0040E530 8B08 mov ecx,dword ptr ds:
0040E532 8B11 mov edx,dword ptr ds:
0040E534 50 push eax
0040E535 8B42 04 mov eax,dword ptr ds:
0040E538 FFD0 call eax
0040E53A 84DB test bl,bl
0040E53C 0F84 C9010000 je doc2pdf.0040E70B
0040E542 E8 8BE10000 call doc2pdf.0041C6D2
0040E547 33C9 xor ecx,ecx
0040E549 3BC6 cmp eax,esi
0040E54B 0F95C1 setne cl
0040E54E 3BCE cmp ecx,esi
0040E550 75 0A jnz Xdoc2pdf.0040E55C
0040E552 68 05400080 push 0x80004005
0040E557 E8 342BFFFF call doc2pdf.00401090
0040E55C 8B10 mov edx,dword ptr ds:
0040E55E 8BC8 mov ecx,eax
0040E560 8B42 0C mov eax,dword ptr ds:
0040E563 FFD0 call eax
0040E565 83C0 10 add eax,0x10
0040E568 894424 14 mov dword ptr ss:,eax
0040E56C 8D4C24 48 lea ecx,dword ptr ss:
0040E570 C68424 48070000>mov byte ptr ss:,0xA
0040E578 51 push ecx
0040E579 897424 24 mov dword ptr ss:,esi
0040E57D 897424 28 mov dword ptr ss:,esi
0040E581 FF15 84845400 call dword ptr ds: ; kernel32.GetSystemTime
0040E587 6A FF push -0x1
0040E589 8D5424 4C lea edx,dword ptr ss:
0040E58D 52 push edx
0040E58E 8D4C24 40 lea ecx,dword ptr ss:
0040E592 E8 2947FFFF call doc2pdf.00402CC0
0040E597 8B4424 38 mov eax,dword ptr ss:
0040E59B 8B4C24 3C mov ecx,dword ptr ss:
0040E59F 8D5424 20 lea edx,dword ptr ss:
0040E5A3 894424 20 mov dword ptr ss:,eax
0040E5A7 52 push edx
0040E5A8 8D4424 5C lea eax,dword ptr ss:
0040E5AC 50 push eax
0040E5AD 894C24 2C mov dword ptr ss:,ecx
0040E5B1 E8 391A1100 call doc2pdf.0051FFEF
0040E5B6 83C4 08 add esp,0x8
0040E5B9 3BC6 cmp eax,esi
0040E5BB 75 0C jnz Xdoc2pdf.0040E5C9
0040E5BD 8B7C24 6C mov edi,dword ptr ss:
0040E5C1 81C7 6C070000 add edi,0x76C
0040E5C7 EB 02 jmp Xdoc2pdf.0040E5CB
0040E5C9 33FF xor edi,edi
0040E5CB 8D4C24 20 lea ecx,dword ptr ss:
0040E5CF 51 push ecx
0040E5D0 8D9424 A4000000 lea edx,dword ptr ss:
0040E5D7 52 push edx
0040E5D8 E8 121A1100 call doc2pdf.0051FFEF
0040E5DD 83C4 08 add esp,0x8
0040E5E0 3BC6 cmp eax,esi
0040E5E2 75 0A jnz Xdoc2pdf.0040E5EE
0040E5E4 8B9C24 B0000000 mov ebx,dword ptr ss:
0040E5EB 43 inc ebx
0040E5EC EB 02 jmp Xdoc2pdf.0040E5F0
0040E5EE 33DB xor ebx,ebx
0040E5F0 8D4424 20 lea eax,dword ptr ss:
0040E5F4 50 push eax
0040E5F5 8D8C24 80000000 lea ecx,dword ptr ss:
0040E5FC 51 push ecx
0040E5FD E8 ED191100 call doc2pdf.0051FFEF
0040E602 F7D8 neg eax
0040E604 1BC0 sbb eax,eax
0040E606 69FF 0E270000 imul edi,edi,0x270E
0040E60C 69DB C8000000 imul ebx,ebx,0xC8
0040E612 F7D0 not eax
0040E614 238424 90000000 and eax,dword ptr ss:
0040E61B 8D5424 1C lea edx,dword ptr ss:
0040E61F 03F8 add edi,eax
0040E621 03DF add ebx,edi
0040E623 53 push ebx
0040E624 68 243C5700 push doc2pdf.00573C24 ; %d
0040E629 52 push edx
0040E62A E8 1143FFFF call doc2pdf.00402940
0040E62F 83C4 14 add esp,0x14
0040E632 68 E44F5700 push doc2pdf.00574FE4 ; ENX4bFRe
0040E637 8D4C24 20 lea ecx,dword ptr ss:
0040E63B E8 402BFFFF call doc2pdf.00401180
0040E640 8D4424 14 lea eax,dword ptr ss:
0040E644 50 push eax
0040E645 C68424 4C070000>mov byte ptr ss:,0xB
0040E64D 8B5424 2C mov edx,dword ptr ss:
0040E651 8B5C24 34 mov ebx,dword ptr ss:
0040E655 8D4C24 20 lea ecx,dword ptr ss:
0040E659 51 push ecx
0040E65A 52 push edx
0040E65B 8DB424 D0000000 lea esi,dword ptr ss:
0040E662 E8 E9140000 call doc2pdf.0040FB50
0040E667 C68424 48070000>mov byte ptr ss:,0xA
0040E66F 8B4424 1C mov eax,dword ptr ss:
0040E673 83C0 F0 add eax,-0x10
0040E676 8D48 0C lea ecx,dword ptr ds:
0040E679 83CA FF or edx,0xFFFFFFFF
0040E67C F0:0FC111 lock xadd dword ptr ds:,edx
0040E680 4A dec edx
0040E681 85D2 test edx,edx
0040E683 7F 0A jg Xdoc2pdf.0040E68F
0040E685 8B08 mov ecx,dword ptr ds:
0040E687 8B11 mov edx,dword ptr ds:
0040E689 50 push eax
0040E68A 8B42 04 mov eax,dword ptr ds:
0040E68D FFD0 call eax
0040E68F C68424 48070000>mov byte ptr ss:,0x8
0040E697 8B4424 14 mov eax,dword ptr ss:
0040E69B 83C0 F0 add eax,-0x10
0040E69E 8D48 0C lea ecx,dword ptr ds:
0040E6A1 83CA FF or edx,0xFFFFFFFF
0040E6A4 F0:0FC111 lock xadd dword ptr ds:,edx
0040E6A8 4A dec edx
0040E6A9 85D2 test edx,edx
0040E6AB 7F 0A jg Xdoc2pdf.0040E6B7
0040E6AD 8B08 mov ecx,dword ptr ds:
0040E6AF 8B11 mov edx,dword ptr ds:
0040E6B1 50 push eax
0040E6B2 8B42 04 mov eax,dword ptr ds:
0040E6B5 FFD0 call eax
0040E6B7 C68424 48070000>mov byte ptr ss:,0x7
0040E6BF 8B4424 18 mov eax,dword ptr ss:
0040E6C3 83C0 F0 add eax,-0x10
0040E6C6 8D48 0C lea ecx,dword ptr ds:
0040E6C9 83CA FF or edx,0xFFFFFFFF
0040E6CC F0:0FC111 lock xadd dword ptr ds:,edx
0040E6D0 4A dec edx
0040E6D1 85D2 test edx,edx
0040E6D3 7F 0A jg Xdoc2pdf.0040E6DF
0040E6D5 8B08 mov ecx,dword ptr ds:
0040E6D7 8B11 mov edx,dword ptr ds:
0040E6D9 50 push eax
0040E6DA 8B42 04 mov eax,dword ptr ds:
0040E6DD FFD0 call eax
0040E6DF C68424 48070000>mov byte ptr ss:,0x4
0040E6E7 8B4424 10 mov eax,dword ptr ss:
0040E6EB 83C0 F0 add eax,-0x10
0040E6EE 8D48 0C lea ecx,dword ptr ds:
0040E6F1 83CA FF or edx,0xFFFFFFFF
0040E6F4 F0:0FC111 lock xadd dword ptr ds:,edx
0040E6F8 4A dec edx
0040E6F9 85D2 test edx,edx
0040E6FB 7F 0A jg Xdoc2pdf.0040E707
0040E6FD 8B08 mov ecx,dword ptr ds:
0040E6FF 8B11 mov edx,dword ptr ds:
0040E701 50 push eax
0040E702 8B42 04 mov eax,dword ptr ds:
0040E705 FFD0 call eax
0040E707 33F6 xor esi,esi
0040E709 EB 4F jmp Xdoc2pdf.0040E75A
0040E70B 8D47 F0 lea eax,dword ptr ds:
0040E70E C68424 48070000>mov byte ptr ss:,0x7
0040E716 8D48 0C lea ecx,dword ptr ds:
0040E719 83CA FF or edx,0xFFFFFFFF
0040E71C F0:0FC111 lock xadd dword ptr ds:,edx
0040E720 4A dec edx
0040E721 85D2 test edx,edx
0040E723 7F 0A jg Xdoc2pdf.0040E72F
0040E725 8B08 mov ecx,dword ptr ds:
0040E727 8B11 mov edx,dword ptr ds:
0040E729 50 push eax
0040E72A 8B42 04 mov eax,dword ptr ds:
0040E72D FFD0 call eax
0040E72F C68424 48070000>mov byte ptr ss:,0x4
0040E737 8B4424 10 mov eax,dword ptr ss:
0040E73B 83C0 F0 add eax,-0x10
0040E73E 8D48 0C lea ecx,dword ptr ds:
0040E741 83CA FF or edx,0xFFFFFFFF
0040E744 F0:0FC111 lock xadd dword ptr ds:,edx
0040E748 4A dec edx
0040E749 85D2 test edx,edx
0040E74B 7F 0A jg Xdoc2pdf.0040E757
0040E74D 8B08 mov ecx,dword ptr ds:
0040E74F 8B11 mov edx,dword ptr ds:
0040E751 50 push eax
0040E752 8B42 04 mov eax,dword ptr ds:
0040E755 FFD0 call eax
0040E757 83CE FF or esi,0xFFFFFFFF
0040E75A 8B7C24 40 mov edi,dword ptr ss:
0040E75E C68424 48070000>mov byte ptr ss:,0x3
0040E766 8B4424 34 mov eax,dword ptr ss:
0040E76A 83C0 F0 add eax,-0x10
0040E76D 8D48 0C lea ecx,dword ptr ds:
0040E770 83CA FF or edx,0xFFFFFFFF
0040E773 F0:0FC111 lock xadd dword ptr ds:,edx
0040E777 4A dec edx
0040E778 85D2 test edx,edx
0040E77A 7F 0A jg Xdoc2pdf.0040E786
0040E77C 8B08 mov ecx,dword ptr ds:
0040E77E 8B11 mov edx,dword ptr ds:
0040E780 50 push eax
0040E781 8B42 04 mov eax,dword ptr ds:
0040E784 FFD0 call eax
0040E786 8D46 03 lea eax,dword ptr ds:
0040E789 83F8 03 cmp eax,0x3
0040E78C 0F87 DA010000 ja doc2pdf.0040E96C
0040E792 FF2485 3CEA4000 jmp dword ptr ds:
0040E799 68 EC335700 push doc2pdf.005733EC ; Word to PDF Converter Pro
0040E79E 8D4C24 20 lea ecx,dword ptr ss:
0040E7A2 E8 D929FFFF call doc2pdf.00401180
0040E7A7 68 C84C5700 push doc2pdf.00574CC8 ; Registration successed, thank for your registration!
0040E7AC 8D4C24 2C lea ecx,dword ptr ss:
0040E7B0 C68424 4C070000>mov byte ptr ss:,0xC
0040E7B8 E8 C329FFFF call doc2pdf.00401180
0040E7BD 6A 40 push 0x40
0040E7BF 57 push edi
0040E7C0 8D5424 24 lea edx,dword ptr ss:
0040E7C4 8D4C24 30 lea ecx,dword ptr ss:
0040E7C8 C68424 50070000>mov byte ptr ss:,0xD
0040E7D0 E8 3B030000 call doc2pdf.0040EB10
0040E7D5 C68424 48070000>mov byte ptr ss:,0xC
0040E7DD 8B4424 28 mov eax,dword ptr ss:
0040E7E1 83C0 F0 add eax,-0x10
0040E7E4 8D48 0C lea ecx,dword ptr ds:
0040E7E7 83CA FF or edx,0xFFFFFFFF
0040E7EA F0:0FC111 lock xadd dword ptr ds:,edx
0040E7EE 4A dec edx
0040E7EF 85D2 test edx,edx
0040E7F1 7F 0A jg Xdoc2pdf.0040E7FD
0040E7F3 8B08 mov ecx,dword ptr ds:
0040E7F5 8B11 mov edx,dword ptr ds:
0040E7F7 50 push eax
0040E7F8 8B42 04 mov eax,dword ptr ds:
0040E7FB FFD0 call eax
0040E7FD C68424 48070000>mov byte ptr ss:,0x3
0040E805 8B4424 1C mov eax,dword ptr ss:
0040E809 E9 CE010000 jmp doc2pdf.0040E9DC
0040E80E 68 EC335700 push doc2pdf.005733EC ; Word to PDF Converter Pro
0040E813 8D4C24 30 lea ecx,dword ptr ss:
0040E817 E8 6429FFFF call doc2pdf.00401180
0040E81C B3 0E mov bl,0xE
0040E81E 68 384D5700 push doc2pdf.00574D38 ; Registration failed, please make sure you have the sufficient permission!
算法总结
1、对用户名进行判断,去除用户名所有非字母字符 记为A
2、对A转换成大写和字符ENX4bFRe进行连接形成新的字符串 记为B
3、对B进行MD5运算并转成大字写 记为C
4、对C中的数字字符进行替换 记为D
替换规则:
1 -->Z
2 -->W
0 -->K
3 -->T
8 -->P
7 -->S
5、对D取前12位即为注册码
如:2222+-fywy
1、fywy
2、FYWYENX4bFRe
3、008C4FFE46F7FCB21C138BA4A9E36A43
4、KKPC4FEE46FSFCBWZCZTPBA4A9ET6A4T
5、KKPC4FFE46FS<----注册码
注册机
**** Hidden Message *****
非常感谢,感谢楼主,这个软件通用性如何啊
分析得很到位,可是我原来怎么也找不到关键,谢谢分享 进来学习一下。 谢谢分享,学习一下 谢谢分析,来看看分析过程 这个软件卖的挺贵啊 多谢楼主分享 感谢大神的分享,辛苦了。 不得不说下,fywy每次都是神出鬼没的。一有培训就出来了。厉害 fywy兄可比少林扫地僧。