能力值:
( LV4,RANK:50 )
2 楼
下面贴出从 004CC4F8 到 004CC7C3 的反汇编,仅供参考:
004CC4F8 . 8BCE MOV ECX,ESI
004CC4FA . E8 D1070000 CALL PhotoFam.004CCCD0
004CC4FF . 85C0 TEST EAX,EAX
004CC501 . 0F85 A4020000 JNZ PhotoFam.004CC7AB
004CC507 . 8BCE MOV ECX,ESI
004CC509 . E8 82080000 CALL PhotoFam.004CCD90
004CC50E . 85C0 TEST EAX,EAX
004CC510 . 0F85 95020000 JNZ PhotoFam.004CC7AB
004CC516 . B9 19000000 MOV ECX,19
004CC51B . 8D7C24 2C LEA EDI,DWORD PTR SS:[ESP+2C]
004CC51F . F3:AB REP STOS DWORD PTR ES:[EDI]
004CC521 . 8BCE MOV ECX,ESI
004CC523 . C74424 24 640>MOV DWORD PTR SS:[ESP+24],64
004CC52B . E8 B043FEFF CALL PhotoFam.004B08E0
004CC530 . 85C0 TEST EAX,EAX
004CC532 . 74 39 JE SHORT PhotoFam.004CC56D
004CC534 . 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+24]
004CC538 . 8D4C24 2C LEA ECX,DWORD PTR SS:[ESP+2C]
004CC53C . 50 PUSH EAX ; /Arg2
004CC53D . 51 PUSH ECX ; |Arg1
004CC53E . 8BCE MOV ECX,ESI ; |
004CC540 . E8 8B57FEFF CALL PhotoFam.004B1CD0 ; \PhotoFam.004B1CD0
004CC545 . 85C0 TEST EAX,EAX
004CC547 . 74 24 JE SHORT PhotoFam.004CC56D
004CC549 . 8B86 B4000000 MOV EAX,DWORD PTR DS:[ESI+B4]
004CC54F . 8D5424 2C LEA EDX,DWORD PTR SS:[ESP+2C]
004CC553 . 52 PUSH EDX ; /s2
004CC554 . 50 PUSH EAX ; |s1
004CC555 . FF15 B4BD5300 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp
004CC55B . 83C4 08 ADD ESP,8
004CC55E . 85C0 TEST EAX,EAX
004CC560 . 75 0B JNZ SHORT PhotoFam.004CC56D
004CC562 . 50 PUSH EAX
004CC563 . 68 881B5900 PUSH PhotoFam.00591B88 ; ASCII "Register Success"
004CC568 . E9 2F020000 JMP PhotoFam.004CC79C
004CC56D > 8BCE MOV ECX,ESI
004CC56F . E8 3CFDFFFF CALL PhotoFam.004CC2B0
004CC574 . 83F8 01 CMP EAX,1
004CC577 . 6A 0A PUSH 0A ; /radix = A (10.)
004CC579 . 0F85 A8010000 JNZ PhotoFam.004CC727 ; |
004CC57F . 8D8424 980100>LEA EAX,DWORD PTR SS:[ESP+198] ; |
004CC586 . 50 PUSH EAX ; |string
004CC587 . 68 04010000 PUSH 104 ; |value = 104 (260.)
004CC58C . FF15 ACBD5300 CALL DWORD PTR DS:[<&MSVCRT._itoa>] ; \_itoa
004CC592 . 8B3D 90B15300 MOV EDI,DWORD PTR DS:[<&KERNEL32.lstrcpy>; kernel32.lstrcpyA
004CC598 . 83C4 0C ADD ESP,0C
004CC59B . 8D8C24 900000>LEA ECX,DWORD PTR SS:[ESP+90]
004CC5A2 . 68 90C55800 PUSH PhotoFam.0058C590 ; /String2 = "Software\MicroSoft\System32"
004CC5A7 . 51 PUSH ECX ; |String1
004CC5A8 . FFD7 CALL EDI ; \lstrcpyA
004CC5AA . 8D5424 14 LEA EDX,DWORD PTR SS:[ESP+14]
004CC5AE . 8D8424 900000>LEA EAX,DWORD PTR SS:[ESP+90]
004CC5B5 . 52 PUSH EDX ; /pHandle
004CC5B6 . 6A 01 PUSH 1 ; |Access = KEY_QUERY_VALUE
004CC5B8 . 6A 00 PUSH 0 ; |Reserved = 0
004CC5BA . 50 PUSH EAX ; |Subkey
004CC5BB . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004CC5C0 . FF15 28B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKey>; \RegOpenKeyExA
004CC5C6 . 85C0 TEST EAX,EAX
004CC5C8 . 74 07 JE SHORT PhotoFam.004CC5D1
004CC5CA . 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
004CC5CE . 51 PUSH ECX
004CC5CF . EB 18 JMP SHORT PhotoFam.004CC5E9
004CC5D1 > 8D9424 900000>LEA EDX,DWORD PTR SS:[ESP+90]
004CC5D8 . 52 PUSH EDX ; /Subkey
004CC5D9 . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004CC5DE . FF15 08B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegDeleteK>; \RegDeleteKeyA
004CC5E4 . 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
004CC5E8 . 50 PUSH EAX ; /hKey
004CC5E9 > FF15 20B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
004CC5EF . 8D8C24 940100>LEA ECX,DWORD PTR SS:[ESP+194]
004CC5F6 . 68 8CC55800 PUSH PhotoFam.0058C58C
004CC5FB . 51 PUSH ECX
004CC5FC . FFD7 CALL EDI
004CC5FE . 8D9424 A00300>LEA EDX,DWORD PTR SS:[ESP+3A0]
004CC605 . 68 90C55800 PUSH PhotoFam.0058C590 ; ASCII "Software\MicroSoft\System32"
004CC60A . 52 PUSH EDX
004CC60B . C74424 30 000>MOV DWORD PTR SS:[ESP+30],0
004CC613 . FFD7 CALL EDI
004CC615 . 8D4424 28 LEA EAX,DWORD PTR SS:[ESP+28]
004CC619 . 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004CC61D . 50 PUSH EAX ; /pDisposition
004CC61E . 51 PUSH ECX ; |pHandle
004CC61F . 6A 00 PUSH 0 ; |pSecurity = NULL
004CC621 . 68 3F000F00 PUSH 0F003F ; |Access = KEY_ALL_ACCESS
004CC626 . 6A 00 PUSH 0 ; |Options = REG_OPTION_NON_VOLATILE
004CC628 . 6A 00 PUSH 0 ; |Class = NULL
004CC62A . 8D9424 B80300>LEA EDX,DWORD PTR SS:[ESP+3B8] ; |
004CC631 . 6A 00 PUSH 0 ; |Reserved = 0
004CC633 . 52 PUSH EDX ; |Subkey
004CC634 . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004CC639 . FF15 0CB05300 CALL DWORD PTR DS:[<&ADVAPI32.RegCreateK>; \RegCreateKeyExA
004CC63F . 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
004CC643 . 8B2D 14B05300 MOV EBP,DWORD PTR DS:[<&ADVAPI32.RegSetV>; ADVAPI32.RegSetValueExA
004CC649 . 8D8424 940100>LEA EAX,DWORD PTR SS:[ESP+194]
004CC650 . 68 04010000 PUSH 104 ; /BufSize = 104 (260.)
004CC655 . 50 PUSH EAX ; |Buffer
004CC656 . 6A 01 PUSH 1 ; |ValueType = REG_SZ
004CC658 . 6A 00 PUSH 0 ; |Reserved = 0
004CC65A . 6A 00 PUSH 0 ; |ValueName = NULL
004CC65C . 51 PUSH ECX ; |hKey
004CC65D . FFD5 CALL EBP ; \RegSetValueExA
004CC65F . 8B96 B4000000 MOV EDX,DWORD PTR DS:[ESI+B4]
004CC665 . 8DBE B4000000 LEA EDI,DWORD PTR DS:[ESI+B4]
004CC66B . 51 PUSH ECX
004CC66C . 8B5A F8 MOV EBX,DWORD PTR DS:[EDX-8]
004CC66F . 8BCC MOV ECX,ESP
004CC671 . 896424 24 MOV DWORD PTR SS:[ESP+24],ESP
004CC675 . 57 PUSH EDI
004CC676 . 43 INC EBX
004CC677 . E8 04240500 CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>
004CC67C . 8D4424 1C LEA EAX,DWORD PTR SS:[ESP+1C] ; |
004CC680 . 8BCE MOV ECX,ESI ; |
004CC682 . 50 PUSH EAX ; |Arg1
004CC683 . E8 E8010000 CALL PhotoFam.004CC870 ; \PhotoFam.004CC870
004CC688 . 53 PUSH EBX
004CC689 . 53 PUSH EBX
004CC68A . 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
004CC68E . C78424 B80500>MOV DWORD PTR SS:[ESP+5B8],0
004CC699 . E8 30240500 CALL <JMP.&MFC42.#2915_?GetBuffer@CStrin>
004CC69E . 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
004CC6A2 . 50 PUSH EAX
004CC6A3 . 6A 01 PUSH 1
004CC6A5 . 6A 00 PUSH 0
004CC6A7 . 68 40C65800 PUSH PhotoFam.0058C640 ; ASCII "Default"
004CC6AC . 51 PUSH ECX
004CC6AD . FFD5 CALL EBP
004CC6AF . 6A FF PUSH -1
004CC6B1 . 8BCF MOV ECX,EDI
004CC6B3 . E8 10240500 CALL <JMP.&MFC42.#5572_?ReleaseBuffer@CS>
004CC6B8 . 8B5424 10 MOV EDX,DWORD PTR SS:[ESP+10]
004CC6BC . 52 PUSH EDX ; /hKey
004CC6BD . FF15 20B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
004CC6C3 . 51 PUSH ECX
004CC6C4 . 8D86 B8000000 LEA EAX,DWORD PTR DS:[ESI+B8]
004CC6CA . 8BCC MOV ECX,ESP
004CC6CC . 896424 24 MOV DWORD PTR SS:[ESP+24],ESP
004CC6D0 . 50 PUSH EAX
004CC6D1 . E8 AA230500 CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>
004CC6D6 . 8BCE MOV ECX,ESI ; |
004CC6D8 . E8 13030000 CALL PhotoFam.004CC9F0 ; \PhotoFam.004CC9F0
004CC6DD . 85C0 TEST EAX,EAX
004CC6DF . 6A 00 PUSH 0
004CC6E1 . 74 21 JE SHORT PhotoFam.004CC704
004CC6E3 . 68 881B5900 PUSH PhotoFam.00591B88 ; ASCII "Register Success"
004CC6E8 . E8 336BF9FF CALL PhotoFam.00463220
004CC6ED . 83C4 08 ADD ESP,8
004CC6F0 . E8 8F220500 CALL <JMP.&MFC42.#1168_?AfxGetModuleStat>
004CC6F5 . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
004CC6F8 . C780 D8010000>MOV DWORD PTR DS:[EAX+1D8],0
004CC702 . EB 0D JMP SHORT PhotoFam.004CC711
004CC704 > 68 781B5900 PUSH PhotoFam.00591B78 ; ASCII "Register Fail"
004CC709 . E8 126BF9FF CALL PhotoFam.00463220
004CC70E . 83C4 08 ADD ESP,8
004CC711 > 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
004CC715 . C78424 B00500>MOV DWORD PTR SS:[ESP+5B0],-1
004CC720 . E8 37230500 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004CC725 . EB 7D JMP SHORT PhotoFam.004CC7A4
004CC727 > 8D8C24 A80400>LEA ECX,DWORD PTR SS:[ESP+4A8] ; |
004CC72E . 51 PUSH ECX ; |string
004CC72F . 68 04010000 PUSH 104 ; |value = 104 (260.)
004CC734 . FF15 ACBD5300 CALL DWORD PTR DS:[<&MSVCRT._itoa>] ; \_itoa
004CC73A . 83C4 0C ADD ESP,0C
004CC73D . 8D9424 9C0200>LEA EDX,DWORD PTR SS:[ESP+29C]
004CC744 . 68 90C55800 PUSH PhotoFam.0058C590 ; /String2 = "Software\MicroSoft\System32"
004CC749 . 52 PUSH EDX ; |String1
004CC74A . FF15 90B15300 CALL DWORD PTR DS:[<&KERNEL32.lstrcpyA>] ; \lstrcpyA
004CC750 . 8D4424 1C LEA EAX,DWORD PTR SS:[ESP+1C]
004CC754 . 8D8C24 9C0200>LEA ECX,DWORD PTR SS:[ESP+29C]
004CC75B . 50 PUSH EAX ; /pHandle
004CC75C . 6A 01 PUSH 1 ; |Access = KEY_QUERY_VALUE
004CC75E . 6A 00 PUSH 0 ; |Reserved = 0
004CC760 . 51 PUSH ECX ; |Subkey
004CC761 . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004CC766 . FF15 28B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegOpenKey>; \RegOpenKeyExA
004CC76C . 85C0 TEST EAX,EAX
004CC76E . 74 07 JE SHORT PhotoFam.004CC777
004CC770 . 8B5424 1C MOV EDX,DWORD PTR SS:[ESP+1C]
004CC774 . 52 PUSH EDX
004CC775 . EB 18 JMP SHORT PhotoFam.004CC78F
004CC777 > 8D8424 9C0200>LEA EAX,DWORD PTR SS:[ESP+29C]
004CC77E . 50 PUSH EAX ; /Subkey
004CC77F . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004CC784 . FF15 08B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegDeleteK>; \RegDeleteKeyA
004CC78A . 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C]
004CC78E . 51 PUSH ECX ; /hKey
004CC78F > FF15 20B05300 CALL DWORD PTR DS:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
004CC795 . 6A 00 PUSH 0
004CC797 . 68 781B5900 PUSH PhotoFam.00591B78 ; ASCII "Register Fail"
004CC79C > E8 7F6AF9FF CALL PhotoFam.00463220
004CC7A1 . 83C4 08 ADD ESP,8
004CC7A4 > 8BCE MOV ECX,ESI
004CC7A6 . E8 6F220500 CALL <JMP.&MFC42.#4853_?OnOK@CDialog@@MA>
004CC7AB > 8B8C24 A80500>MOV ECX,DWORD PTR SS:[ESP+5A8]
004CC7B2 . 5F POP EDI
004CC7B3 . 5E POP ESI
004CC7B4 . 5D POP EBP
004CC7B5 . 64:890D 00000>MOV DWORD PTR FS:[0],ECX
004CC7BC . 5B POP EBX
004CC7BD . 81C4 A4050000 ADD ESP,5A4
004CC7C3 . C3 RETN
能力值:
( LV10,RANK:170 )
3 楼
004CCDBE 主要 CALL PhotoFam.0042BCB0 ; ECX=00000000, EDX=014A3248
算号的CALL
能力值:
( LV4,RANK:50 )
4 楼
这个是 CALL PhotoFam.0042BCB0 里反汇编:
0042BCB0 /$ 51 PUSH ECX
0042BCB1 |. 8B41 04 MOV EAX,DWORD PTR DS:[ECX+4]
0042BCB4 |. 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
0042BCB8 |. 56 PUSH ESI
0042BCB9 |. 8B7424 0C MOV ESI,DWORD PTR SS:[ESP+C]
0042BCBD |. 8D1488 LEA EDX,DWORD PTR DS:[EAX+ECX*4]
0042BCC0 |. 8BCE MOV ECX,ESI
0042BCC2 |. 52 PUSH EDX
0042BCC3 |. C74424 08 000>MOV DWORD PTR SS:[ESP+8],0
0042BCCB |. E8 B02D0F00 CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>
0042BCD0 |. 8BC6 MOV EAX,ESI
0042BCD2 |. 5E POP ESI
0042BCD3 |. 59 POP ECX
0042BCD4 \. C2 0800 RETN 8
还是看不出它是怎样处理我输入的数据的。0042BCCB 那个CALL有什么用?
能力值:
( LV4,RANK:50 )
6 楼
能麻烦您告诉我它是怎样计算序列号的吗?我在学习之余,自己慢慢在阅读8086汇编一类的书,但现在还没学会多少东西。恳求您帮帮忙,说详细一点点,小弟受教,不慎感激。
能力值:
( LV9,RANK:250 )
7 楼
我也是菜鸟,互相学习吧。
这个软件的注册部分不难看懂。是明码比较的,由注册名生成注册码。现在这样的软件已经很少了。
我的注册名:MengLong
我的注册码:DDKBI-VSCOD-EMMLJ
下面是算法部分:
004CC2B0 /$ 6A FF PUSH -1
004CC2B2 |. 68 F02A5300 PUSH PhotoFam.00532AF0 ; SE handler installation
004CC2B7 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
004CC2BD |. 50 PUSH EAX
004CC2BE |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
004CC2C5 |. 83EC 2C SUB ESP,2C
004CC2C8 |. 53 PUSH EBX
004CC2C9 |. 894C24 0C MOV DWORD PTR SS:[ESP+C],ECX
004CC2CD |. 56 PUSH ESI
004CC2CE |. 81C1 B4000000 ADD ECX,0B4
004CC2D4 |. 57 PUSH EDI
004CC2D5 |. 51 PUSH ECX
004CC2D6 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14]
004CC2DA |. E8 A1270500 CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>
004CC2DF |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004CC2E3 |. C74424 40 0000>MOV DWORD PTR SS:[ESP+40],0
004CC2EB |. E8 C4320500 CALL <JMP.&MFC42.#4204_?MakeUpper@CStrin>
004CC2F0 |. 8B7424 10 MOV ESI,DWORD PTR SS:[ESP+10]
004CC2F4 |. 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
004CC2F8 |. 33C0 XOR EAX,EAX
004CC2FA |. B3 70 MOV BL,70
004CC2FC |. 8B7E F8 MOV EDI,DWORD PTR DS:[ESI-8]
004CC2FF |. 2BF1 SUB ESI,ECX
004CC301 |> 3BC7 /CMP EAX,EDI
004CC303 |. 7D 0B |JGE SHORT PhotoFam.004CC310
004CC305 |. 8D4C04 18 |LEA ECX,DWORD PTR SS:[ESP+EAX+18]
004CC309 |. 8A140E |MOV DL,BYTE PTR DS:[ESI+ECX]
004CC30C |. 8811 |MOV BYTE PTR DS:[ECX],DL
004CC30E |. EB 04 |JMP SHORT PhotoFam.004CC314
004CC310 |> 885C04 18 |MOV BYTE PTR SS:[ESP+EAX+18],BL
004CC314 |> 40 |INC EAX
004CC315 |. 83F8 08 |CMP EAX,8
004CC318 |.^7E E7 \JLE SHORT PhotoFam.004CC301
004CC31A |. 0FBE7C24 18 MOVSX EDI,BYTE PTR SS:[ESP+18]
004CC31F |. B9 17000000 MOV ECX,17
004CC324 |. 55 PUSH EBP
004CC325 |. 8D47 12 LEA EAX,DWORD PTR DS:[EDI+12]
004CC328 |. BB 17000000 MOV EBX,17
004CC32D |. 99 CDQ
004CC32E |. F7F9 IDIV ECX
004CC330 |. 0FBE7424 21 MOVSX ESI,BYTE PTR SS:[ESP+21]
004CC335 |. 0FBE6C24 1D MOVSX EBP,BYTE PTR SS:[ESP+1D]
004CC33A |. 8D46 10 LEA EAX,DWORD PTR DS:[ESI+10]
004CC33D |. C64424 2D 2D MOV BYTE PTR SS:[ESP+2D],2D
004CC342 |. C64424 33 2D MOV BYTE PTR SS:[ESP+33],2D
004CC347 |. 80C2 41 ADD DL,41
004CC34A |. 885424 28 MOV BYTE PTR SS:[ESP+28],DL
004CC34E |. 99 CDQ
004CC34F |. F7F9 IDIV ECX
004CC351 |. 8D45 0A LEA EAX,DWORD PTR SS:[EBP+A]
004CC354 |. 80C2 41 ADD DL,41
004CC357 |. 885424 29 MOV BYTE PTR SS:[ESP+29],DL
004CC35B |. 99 CDQ
004CC35C |. F7F9 IDIV ECX
004CC35E |. 0FBE4C24 1E MOVSX ECX,BYTE PTR SS:[ESP+1E]
004CC363 |. 8D41 0F LEA EAX,DWORD PTR DS:[ECX+F]
004CC366 |. 80C2 41 ADD DL,41
004CC369 |. 885424 2A MOV BYTE PTR SS:[ESP+2A],DL
004CC36D |. 99 CDQ
004CC36E |. F7FB IDIV EBX
004CC370 |. 0FBE4424 24 MOVSX EAX,BYTE PTR SS:[ESP+24]
004CC375 |. 83C0 0B ADD EAX,0B
004CC378 |. 80C2 41 ADD DL,41
004CC37B |. 885424 2B MOV BYTE PTR SS:[ESP+2B],DL
004CC37F |. 99 CDQ
004CC380 |. F7FB IDIV EBX
004CC382 |. 8D41 0C LEA EAX,DWORD PTR DS:[ECX+C]
004CC385 |. 80C2 41 ADD DL,41
004CC388 |. 885424 2C MOV BYTE PTR SS:[ESP+2C],DL
004CC38C |. 99 CDQ
004CC38D |. F7FB IDIV EBX
004CC38F |. 8D46 08 LEA EAX,DWORD PTR DS:[ESI+8]
004CC392 |. 80C2 41 ADD DL,41
004CC395 |. 885424 2E MOV BYTE PTR SS:[ESP+2E],DL
004CC399 |. 99 CDQ
004CC39A |. F7FB IDIV EBX
004CC39C |. 8D45 02 LEA EAX,DWORD PTR SS:[EBP+2]
004CC39F |. BD 17000000 MOV EBP,17
004CC3A4 |. 80C2 41 ADD DL,41
004CC3A7 |. 885424 2F MOV BYTE PTR SS:[ESP+2F],DL
004CC3AB |. 99 CDQ
004CC3AC |. F7FB IDIV EBX
004CC3AE |. 8D41 05 LEA EAX,DWORD PTR DS:[ECX+5]
004CC3B1 |. 80C2 41 ADD DL,41
004CC3B4 |. 885424 30 MOV BYTE PTR SS:[ESP+30],DL
004CC3B8 |. 99 CDQ
004CC3B9 |. F7FB IDIV EBX
004CC3BB |. 0FBE5C24 1F MOVSX EBX,BYTE PTR SS:[ESP+1F]
004CC3C0 |. 8D43 01 LEA EAX,DWORD PTR DS:[EBX+1]
004CC3C3 |. 80C2 41 ADD DL,41
004CC3C6 |. 885424 31 MOV BYTE PTR SS:[ESP+31],DL
004CC3CA |. 99 CDQ
004CC3CB |. F7FD IDIV EBP
004CC3CD |. 8D43 02 LEA EAX,DWORD PTR DS:[EBX+2]
004CC3D0 |. 8BDD MOV EBX,EBP
004CC3D2 |. 80C2 41 ADD DL,41
004CC3D5 |. 885424 32 MOV BYTE PTR SS:[ESP+32],DL
004CC3D9 |. 99 CDQ
004CC3DA |. F7FB IDIV EBX
004CC3DC |. 8D41 03 LEA EAX,DWORD PTR DS:[ECX+3]
004CC3DF |. 8BCD MOV ECX,EBP
004CC3E1 |. 80C2 41 ADD DL,41
004CC3E4 |. 885424 34 MOV BYTE PTR SS:[ESP+34],DL
004CC3E8 |. 99 CDQ
004CC3E9 |. F7F9 IDIV ECX
004CC3EB |. 0FBE4424 22 MOVSX EAX,BYTE PTR SS:[ESP+22]
004CC3F0 |. 83C0 03 ADD EAX,3
004CC3F3 |. 80C2 41 ADD DL,41
004CC3F6 |. 885424 35 MOV BYTE PTR SS:[ESP+35],DL
004CC3FA |. 99 CDQ
004CC3FB |. F7F9 IDIV ECX
004CC3FD |. 8D46 01 LEA EAX,DWORD PTR DS:[ESI+1]
004CC400 |. 80C2 41 ADD DL,41
004CC403 |. 885424 36 MOV BYTE PTR SS:[ESP+36],DL
004CC407 |. 99 CDQ
004CC408 |. F7F9 IDIV ECX
004CC40A |. 8D47 01 LEA EAX,DWORD PTR DS:[EDI+1]
004CC40D |. 80C2 41 ADD DL,41
004CC410 |. 885424 37 MOV BYTE PTR SS:[ESP+37],DL
004CC414 |. 99 CDQ
004CC415 |. F7F9 IDIV ECX
004CC417 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004CC41B |. 80C2 41 ADD DL,41
004CC41E |. 885424 38 MOV BYTE PTR SS:[ESP+38],DL
004CC422 |. E8 29260500 CALL <JMP.&MFC42.#540_??0CString@@QAE@XZ>
004CC427 |. 33DB XOR EBX,EBX
004CC429 |. C64424 44 01 MOV BYTE PTR SS:[ESP+44],1
004CC42E |. 33F6 XOR ESI,ESI
004CC430 |. 5D POP EBP
004CC431 |> 8A5434 24 /MOV DL,BYTE PTR SS:[ESP+ESI+24]
004CC435 |. 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
004CC439 |. 52 |PUSH EDX
004CC43A |. E8 372A0500 |CALL <JMP.&MFC42.#940_??YCString@@QAEAB>
004CC43F |. 46 |INC ESI
004CC440 |. 83FE 10 |CMP ESI,10
004CC443 |.^7E EC \JLE SHORT PhotoFam.004CC431
004CC445 |. 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
004CC449 |. 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
004CC44D |. 8B80 B8000000 MOV EAX,DWORD PTR DS:[EAX+B8]
004CC453 |. 50 PUSH EAX ; /s2
004CC454 |. 51 PUSH ECX ; |s1
004CC455 |. FF15 B4BD5300 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp **********比较注册码
004CC45B |. 83C4 08 ADD ESP,8
004CC45E |. 885C24 40 MOV BYTE PTR SS:[ESP+40],BL
004CC462 |. 85C0 TEST EAX,EAX
004CC464 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
004CC468 75 2D JNZ SHORT PhotoFam.004CC497
004CC46A |. E8 ED250500 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004CC46F |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004CC473 |. C74424 40 FFFF>MOV DWORD PTR SS:[ESP+40],-1
004CC47B |. E8 DC250500 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004CC480 |. 5F POP EDI
004CC481 |. 5E POP ESI
004CC482 |. B8 01000000 MOV EAX,1
004CC487 |. 5B POP EBX
004CC488 |. 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+2C]
004CC48C |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
004CC493 |. 83C4 38 ADD ESP,38
004CC496 |. C3 RETN
004CC497 |> E8 C0250500 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004CC49C |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004CC4A0 |. C74424 40 FFFF>MOV DWORD PTR SS:[ESP+40],-1
004CC4A8 |. E8 AF250500 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004CC4AD |. 8B4C24 38 MOV ECX,DWORD PTR SS:[ESP+38]
004CC4B1 |. 5F POP EDI
004CC4B2 |. 5E POP ESI
004CC4B3 |. 33C0 XOR EAX,EAX
004CC4B5 |. 5B POP EBX
004CC4B6 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX
004CC4BD |. 83C4 38 ADD ESP,38
004CC4C0 \. C3 RETN
能力值:
( LV4,RANK:50 )
8 楼
外出游玩回来~~~~~~想不到我的帖子已经被MengLong兄回复了,受益匪浅,感谢MengLong,也感谢论坛中所有积极的人~~~~~~~
我没料到算号的call会在 CALL PhotoFam.004CC2B0 这里面,想当初居然没有多跟进几个call里看看,真失败:p 不过,那么多call,不知道MengLong兄是怎样判断算号call的位置的,有什么巧妙的方法吗?
这个软件既没有加壳又使用的是明码比较,的确已经很少见了~~~~~值得收藏
不过还有一个疑问,注意到:
004CC4F8 主要 MOV ECX,ESI ; ECX=0012F864
004CC4FA 主要 [COLOR=orangered]CALL PhotoFam.004CCCD0[/COLOR] ; EAX=00000000, ECX=014AD75C, EDX=00000077
004CC4FF 主要 TEST EAX,EAX
004CC501 主要 JNZ PhotoFam.004CC7AB
004CC507 主要 MOV ECX,ESI ; ECX=0012F864
004CC509 主要 [COLOR=orangered]CALL PhotoFam.004CCD90[/COLOR] ; ECX=014AD7FC, EDX=0000004E
004CC50E 主要 TEST EAX,EAX
004CC510 主要 JNZ PhotoFam.004CC7AB
004CC516 主要 MOV ECX,19 ; ECX=00000019
004CC51B 主要 LEA EDI,DWORD PTR SS:[ESP+2C] ; EDI=0012E7D4
004CC51F 主要 REP STOS DWORD PTR ES:[EDI] ; ECX=00000000, EDI=0012E838
004CC521 主要 MOV ECX,ESI ; ECX=0012F864
004CC523 主要 MOV DWORD PTR SS:[ESP+24],64
004CC52B 主要 CALL PhotoFam.004B08E0 ; ECX=77F59037, EDX=00140608
004CC530 主要 TEST EAX,EAX
004CC532 主要 JE SHORT PhotoFam.004CC56D
004CC56D 主要 MOV ECX,ESI ; ECX=0012F864
004CC56F 主要 [COLOR=royalblue]CALL PhotoFam.004CC2B0[/COLOR] ; ECX=0012ED50, EDX=5F4D0088
004CC574 主要 CMP EAX,1
004CC577 主要 PUSH 0A ; radix = A (10.)
004CC579 主要 JNZ PhotoFam.004CC727 ; radix = A (10.)
在蓝色的算号call前面的那两个call(已经用橘红色标出)是做什么的?以前也贴出了里面的代码。她好像把你填入的用户名与“wswoodddy”比较,又把序列号与“NPBKI-HHQAL-MVCAT”比较。但是,如果你用“wswoodddy”作为用户名或用“NPBKI-HHQAL-MVCAT”作为序列号,然后确认,就什么反应都没有。这个是怎么回事呢?