-
-
[旧帖] [求助]Cryptography API的问题 0.00雪花
-
发表于: 2008-3-24 15:18 3623
-
碰到一个问题,对密码学一点不了解,读了http://bbs.pediy.com/showthread.php?t=31492&highlight=CryptHashData 这篇文章还是没搞懂,向大侠们请教一下.
流程是这样的,想问下,该怎么取得正确的注册码呢?
00413DB0 /$ 56 PUSH ESI
00413DB1 |. 8B7424 08 MOV ESI,DWORD PTR SS:[ESP+8]
00413DB5 |. 57 PUSH EDI
00413DB6 |. 8B3D 04904400 MOV EDI,DWORD PTR DS:[<&ADVAPI32.CryptAc>; ADVAPI32.CryptAcquireContextA
00413DBC |. 6A 00 PUSH 0
00413DBE |. 6A 01 PUSH 1
00413DC0 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413DC5 |. 8D4424 18 LEA EAX,DWORD PTR SS:[ESP+18]
00413DC9 |. 56 PUSH ESI
00413DCA |. 50 PUSH EAX
00413DCB |. FFD7 CALL EDI ; <&ADVAPI32.CryptAcquireContextA>
00413DCD |. 85C0 TEST EAX,EAX
00413DCF |. 75 18 JNZ SHORT HpmbCalc.00413DE9
00413DD1 |. 6A 08 PUSH 8
00413DD3 |. 6A 01 PUSH 1
00413DD5 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413DDA |. 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
00413DDE |. 56 PUSH ESI
00413DDF |. 51 PUSH ECX
00413DE0 |. FFD7 CALL EDI
00413DE2 |. 85C0 TEST EAX,EAX
00413DE4 |. 75 03 JNZ SHORT HpmbCalc.00413DE9
00413DE6 |. 5F POP EDI
00413DE7 |. 5E POP ESI
00413DE8 |. C3 RETN
00413DE9 |> 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
00413DED |. 5F POP EDI
00413DEE |. 5E POP ESI
00413DEF \. C3 RETN
00413DF0 /$ 83EC 0C SUB ESP,0C
00413DF3 |. 8D4424 00 LEA EAX,DWORD PTR SS:[ESP]
00413DF7 |. 56 PUSH ESI
00413DF8 |. 8B35 04904400 MOV ESI,DWORD PTR DS:[<&ADVAPI32.CryptAc>; ADVAPI32.CryptAcquireContextA
00413DFE |. 6A 00 PUSH 0
00413E00 |. 6A 01 PUSH 1
00413E02 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413E07 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413E0C |. 50 PUSH EAX
00413E0D |. FFD6 CALL ESI ; <&ADVAPI32.CryptAcquireContextA>
00413E0F |. 85C0 TEST EAX,EAX
00413E11 |. 75 1E JNZ SHORT HpmbCalc.00413E31
00413E13 |. 6A 08 PUSH 8
00413E15 |. 6A 01 PUSH 1
00413E17 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413E1C |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
00413E20 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413E25 |. 51 PUSH ECX
00413E26 |. FFD6 CALL ESI
00413E28 |. 85C0 TEST EAX,EAX
00413E2A |. 75 05 JNZ SHORT HpmbCalc.00413E31
00413E2C |. 5E POP ESI
00413E2D |. 83C4 0C ADD ESP,0C
00413E30 |. C3 RETN
00413E31 |> A1 F8A04500 MOV EAX,DWORD PTR DS:[45A0F8]
00413E36 |. 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4]
00413E3A |. 57 PUSH EDI
00413E3B |. 8D5424 10 LEA EDX,DWORD PTR SS:[ESP+10]
00413E3F |. 33FF XOR EDI,EDI
00413E41 |. 52 PUSH EDX
00413E42 |. 57 PUSH EDI
00413E43 |. 57 PUSH EDI
00413E44 |. 50 PUSH EAX
00413E45 |. 68 A4A04500 PUSH HpmbCalc.0045A0A4
00413E4A |. 51 PUSH ECX
00413E4B |. FF15 38904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptImpor>; ADVAPI32.CryptImportKey
00413E51 |. 85C0 TEST EAX,EAX
00413E53 |. 74 66 JE SHORT HpmbCalc.00413EBB
00413E55 |. 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
00413E59 |. 8D5424 0C LEA EDX,DWORD PTR SS:[ESP+C]
00413E5D |. 52 PUSH EDX
00413E5E |. 57 PUSH EDI
00413E5F |. 57 PUSH EDI
00413E60 |. 68 03800000 PUSH 8003
00413E65 |. 50 PUSH EAX
00413E66 |. FF15 3C904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptCreat>; ADVAPI32.CryptCreateHash
00413E6C |. 57 PUSH EDI
00413E6D |. 8B7C24 1C MOV EDI,DWORD PTR SS:[ESP+1C]
00413E71 |. 57 PUSH EDI ; /String
00413E72 |. FF15 00934400 CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] ; \lstrlenA
00413E78 |. 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
00413E7C |. 50 PUSH EAX
00413E7D |. 57 PUSH EDI ; 用户名
00413E7E |. 51 PUSH ECX
00413E7F |. FF15 40904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptHashD>; ADVAPI32.CryptHashData
00413E85 |. 8B5424 10 MOV EDX,DWORD PTR SS:[ESP+10]
00413E89 |. 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
00413E8D |. 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C]
00413E91 |. 6A 00 PUSH 0
00413E93 |. 6A 00 PUSH 0
00413E95 |. 52 PUSH EDX
00413E96 |. 8B5424 18 MOV EDX,DWORD PTR SS:[ESP+18]
00413E9A |. 50 PUSH EAX
00413E9B |. 51 PUSH ECX ; 注册码
00413E9C |. 52 PUSH EDX
00413E9D |. FF15 00904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptVerif>; ADVAPI32.CryptVerifySignatureA
00413EA3 |. 8BF8 MOV EDI,EAX
00413EA5 |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
00413EA9 |. 50 PUSH EAX
00413EAA |. FF15 4C904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptDestr>; ADVAPI32.CryptDestroyHash
00413EB0 |. 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
00413EB4 |. 51 PUSH ECX
00413EB5 |. FF15 20904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptDestr>; ADVAPI32.CryptDestroyKey
00413EBB |> 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
00413EBF |. 6A 00 PUSH 0
00413EC1 |. 52 PUSH EDX
00413EC2 |. FF15 34904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptRelea>; ADVAPI32.CryptReleaseContext
00413EC8 |. 85FF TEST EDI,EDI
00413ECA 75 15 JNZ SHORT HpmbCalc.00413EE1
00413ECC |. 6A 10 PUSH 10
00413ECE |. 6A 01 PUSH 1
00413ED0 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413ED5 |. 8D4424 14 LEA EAX,DWORD PTR SS:[ESP+14]
00413ED9 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413EDE |. 50 PUSH EAX
00413EDF |. FFD6 CALL ESI
00413EE1 |> 8BC7 MOV EAX,EDI
00413EE3 |. 5F POP EDI
00413EE4 |. 5E POP ESI
00413EE5 |. 83C4 0C ADD ESP,0C
00413EE8 \. C3 RETN
流程是这样的,想问下,该怎么取得正确的注册码呢?
00413DB0 /$ 56 PUSH ESI
00413DB1 |. 8B7424 08 MOV ESI,DWORD PTR SS:[ESP+8]
00413DB5 |. 57 PUSH EDI
00413DB6 |. 8B3D 04904400 MOV EDI,DWORD PTR DS:[<&ADVAPI32.CryptAc>; ADVAPI32.CryptAcquireContextA
00413DBC |. 6A 00 PUSH 0
00413DBE |. 6A 01 PUSH 1
00413DC0 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413DC5 |. 8D4424 18 LEA EAX,DWORD PTR SS:[ESP+18]
00413DC9 |. 56 PUSH ESI
00413DCA |. 50 PUSH EAX
00413DCB |. FFD7 CALL EDI ; <&ADVAPI32.CryptAcquireContextA>
00413DCD |. 85C0 TEST EAX,EAX
00413DCF |. 75 18 JNZ SHORT HpmbCalc.00413DE9
00413DD1 |. 6A 08 PUSH 8
00413DD3 |. 6A 01 PUSH 1
00413DD5 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413DDA |. 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
00413DDE |. 56 PUSH ESI
00413DDF |. 51 PUSH ECX
00413DE0 |. FFD7 CALL EDI
00413DE2 |. 85C0 TEST EAX,EAX
00413DE4 |. 75 03 JNZ SHORT HpmbCalc.00413DE9
00413DE6 |. 5F POP EDI
00413DE7 |. 5E POP ESI
00413DE8 |. C3 RETN
00413DE9 |> 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
00413DED |. 5F POP EDI
00413DEE |. 5E POP ESI
00413DEF \. C3 RETN
00413DF0 /$ 83EC 0C SUB ESP,0C
00413DF3 |. 8D4424 00 LEA EAX,DWORD PTR SS:[ESP]
00413DF7 |. 56 PUSH ESI
00413DF8 |. 8B35 04904400 MOV ESI,DWORD PTR DS:[<&ADVAPI32.CryptAc>; ADVAPI32.CryptAcquireContextA
00413DFE |. 6A 00 PUSH 0
00413E00 |. 6A 01 PUSH 1
00413E02 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413E07 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413E0C |. 50 PUSH EAX
00413E0D |. FFD6 CALL ESI ; <&ADVAPI32.CryptAcquireContextA>
00413E0F |. 85C0 TEST EAX,EAX
00413E11 |. 75 1E JNZ SHORT HpmbCalc.00413E31
00413E13 |. 6A 08 PUSH 8
00413E15 |. 6A 01 PUSH 1
00413E17 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413E1C |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
00413E20 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413E25 |. 51 PUSH ECX
00413E26 |. FFD6 CALL ESI
00413E28 |. 85C0 TEST EAX,EAX
00413E2A |. 75 05 JNZ SHORT HpmbCalc.00413E31
00413E2C |. 5E POP ESI
00413E2D |. 83C4 0C ADD ESP,0C
00413E30 |. C3 RETN
00413E31 |> A1 F8A04500 MOV EAX,DWORD PTR DS:[45A0F8]
00413E36 |. 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4]
00413E3A |. 57 PUSH EDI
00413E3B |. 8D5424 10 LEA EDX,DWORD PTR SS:[ESP+10]
00413E3F |. 33FF XOR EDI,EDI
00413E41 |. 52 PUSH EDX
00413E42 |. 57 PUSH EDI
00413E43 |. 57 PUSH EDI
00413E44 |. 50 PUSH EAX
00413E45 |. 68 A4A04500 PUSH HpmbCalc.0045A0A4
00413E4A |. 51 PUSH ECX
00413E4B |. FF15 38904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptImpor>; ADVAPI32.CryptImportKey
00413E51 |. 85C0 TEST EAX,EAX
00413E53 |. 74 66 JE SHORT HpmbCalc.00413EBB
00413E55 |. 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
00413E59 |. 8D5424 0C LEA EDX,DWORD PTR SS:[ESP+C]
00413E5D |. 52 PUSH EDX
00413E5E |. 57 PUSH EDI
00413E5F |. 57 PUSH EDI
00413E60 |. 68 03800000 PUSH 8003
00413E65 |. 50 PUSH EAX
00413E66 |. FF15 3C904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptCreat>; ADVAPI32.CryptCreateHash
00413E6C |. 57 PUSH EDI
00413E6D |. 8B7C24 1C MOV EDI,DWORD PTR SS:[ESP+1C]
00413E71 |. 57 PUSH EDI ; /String
00413E72 |. FF15 00934400 CALL DWORD PTR DS:[<&KERNEL32.lstrlenA>] ; \lstrlenA
00413E78 |. 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
00413E7C |. 50 PUSH EAX
00413E7D |. 57 PUSH EDI ; 用户名
00413E7E |. 51 PUSH ECX
00413E7F |. FF15 40904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptHashD>; ADVAPI32.CryptHashData
00413E85 |. 8B5424 10 MOV EDX,DWORD PTR SS:[ESP+10]
00413E89 |. 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
00413E8D |. 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C]
00413E91 |. 6A 00 PUSH 0
00413E93 |. 6A 00 PUSH 0
00413E95 |. 52 PUSH EDX
00413E96 |. 8B5424 18 MOV EDX,DWORD PTR SS:[ESP+18]
00413E9A |. 50 PUSH EAX
00413E9B |. 51 PUSH ECX ; 注册码
00413E9C |. 52 PUSH EDX
00413E9D |. FF15 00904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptVerif>; ADVAPI32.CryptVerifySignatureA
00413EA3 |. 8BF8 MOV EDI,EAX
00413EA5 |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
00413EA9 |. 50 PUSH EAX
00413EAA |. FF15 4C904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptDestr>; ADVAPI32.CryptDestroyHash
00413EB0 |. 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
00413EB4 |. 51 PUSH ECX
00413EB5 |. FF15 20904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptDestr>; ADVAPI32.CryptDestroyKey
00413EBB |> 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
00413EBF |. 6A 00 PUSH 0
00413EC1 |. 52 PUSH EDX
00413EC2 |. FF15 34904400 CALL DWORD PTR DS:[<&ADVAPI32.CryptRelea>; ADVAPI32.CryptReleaseContext
00413EC8 |. 85FF TEST EDI,EDI
00413ECA 75 15 JNZ SHORT HpmbCalc.00413EE1
00413ECC |. 6A 10 PUSH 10
00413ECE |. 6A 01 PUSH 1
00413ED0 |. 68 2C924500 PUSH HpmbCalc.0045922C ; ASCII "Microsoft Base Cryptographic Provider v1.0"
00413ED5 |. 8D4424 14 LEA EAX,DWORD PTR SS:[ESP+14]
00413ED9 |. 68 FCA04500 PUSH HpmbCalc.0045A0FC ; ASCII "Hpmbcalc Data Signature"
00413EDE |. 50 PUSH EAX
00413EDF |. FFD6 CALL ESI
00413EE1 |> 8BC7 MOV EAX,EDI
00413EE3 |. 5F POP EDI
00413EE4 |. 5E POP ESI
00413EE5 |. 83C4 0C ADD ESP,0C
00413EE8 \. C3 RETN
赞赏
他的文章
- [推荐]Parasoft c++Test 9.2 And concerto 20262
- 有没有对网页反反盗链有研究的同学 4569
- 怎么控制线程占用的cpu 6347
- [讨论]X86指令里面最yd的是哪条? 4866
看原图
赞赏
雪币:
留言: