vb 程序 采用了浮点运算 ,分析了一部分代码明码标示,头都大了 没什么进展。是怎么计算出注册码的。 机器码:165761790 注册码:216936658
不知为什么?还请帮帮忙,谢谢!
00446960 55 PUSH EBP
00446961 8BEC MOV EBP,ESP
00446963 83EC 18 SUB ESP,18
00446966 68 26404100 PUSH <JMP.&MSVBVM60.__vbaExceptHandler>
0044696B 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00446971 50 PUSH EAX
00446972 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00446979 B8 80000000 MOV EAX,80
0044697E E8 9DD61CFF CALL <JMP.&MSVBVM60.__vbaChkstk>
00446983 53 PUSH EBX
00446984 56 PUSH ESI
00446985 57 PUSH EDI
00446986 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00446989 C745 EC 683D410>MOV DWORD PTR SS:[EBP-14],qzone.00413D68
00446990 C745 F0 0000000>MOV DWORD PTR SS:[EBP-10],0
00446997 C745 F4 0000000>MOV DWORD PTR SS:[EBP-C],0
0044699E 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
004469A1 8B08 MOV ECX,DWORD PTR DS:[EAX]
004469A3 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] 机器码165761790
004469A6 52 PUSH EDX
004469A7 FF51 04 CALL DWORD PTR DS:[ECX+4]
004469AA C745 FC 0100000>MOV DWORD PTR SS:[EBP-4],1
004469B1 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
004469B4 8D4D D8 LEA ECX,DWORD PTR SS:[EBP-28]
004469B7 FF15 48134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>; MSVBVM60.__vbaStrCopy
004469BD C745 FC 0200000>MOV DWORD PTR SS:[EBP-4],2
004469C4 6A FF PUSH -1
004469C6 FF15 24114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaOnErr>; MSVBVM60.__vbaOnError
004469CC C745 FC 0300000>MOV DWORD PTR SS:[EBP-4],3
004469D3 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
004469D6 50 PUSH EAX
004469D7 FF15 38104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>; MSVBVM60.__vbaLenBstr
004469DD 8BC8 MOV ECX,EAX
004469DF FF15 F4114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaI2I4>>; MSVBVM60.__vbaI2I4
004469E5 66:8945 C8 MOV WORD PTR SS:[EBP-38],AX
004469E9 C745 FC 0400000>MOV DWORD PTR SS:[EBP-4],4
004469F0 66:8B4D C8 MOV CX,WORD PTR SS:[EBP-38]
004469F4 66:894D 94 MOV WORD PTR SS:[EBP-6C],CX
004469F8 66:C745 98 0100 MOV WORD PTR SS:[EBP-68],1
004469FE 66:C745 DC 0100 MOV WORD PTR SS:[EBP-24],1
00446A04 EB 12 JMP SHORT qzone.00446A18
00446A06 66:8B55 DC MOV DX,WORD PTR SS:[EBP-24]
00446A0A 66:0355 98 ADD DX,WORD PTR SS:[EBP-68]
00446A0E 0F80 AD010000 JO qzone.00446BC1
00446A14 66:8955 DC MOV WORD PTR SS:[EBP-24],DX
00446A18 66:8B45 DC MOV AX,WORD PTR SS:[EBP-24]
00446A1C 66:3B45 94 CMP AX,WORD PTR SS:[EBP-6C]
00446A20 0F8F 3A010000 JG qzone.00446B60
00446A26 C745 FC 0500000>MOV DWORD PTR SS:[EBP-4],5
00446A2D C745 B4 0100000>MOV DWORD PTR SS:[EBP-4C],1
00446A34 C745 AC 0200000>MOV DWORD PTR SS:[EBP-54],2
00446A3B 8D4D AC LEA ECX,DWORD PTR SS:[EBP-54]
00446A3E 51 PUSH ECX
00446A3F 0FBF55 DC MOVSX EDX,WORD PTR SS:[EBP-24]
00446A43 52 PUSH EDX
00446A44 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
00446A47 50 PUSH EAX
00446A48 FF15 90114000 CALL DWORD PTR DS:[<&MSVBVM60.#631>] ; MSVBVM60.rtcMidCharBstr //取字符串
00446A4E 8BD0 MOV EDX,EAX
00446A50 8D4D BC LEA ECX,DWORD PTR SS:[EBP-44]
00446A53 FF15 F0134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrMo>; MSVBVM60.__vbaStrMove
00446A59 50 PUSH EAX
00446A5A FF15 68104000 CALL DWORD PTR DS:[<&MSVBVM60.#516>] ; MSVBVM60.rtcAnsiValueBstr //取ASCII值
00446A60 0FBFC8 MOVSX ECX,AX
00446A63 894D C0 MOV DWORD PTR SS:[EBP-40],ECX
00446A66 8D4D BC LEA ECX,DWORD PTR SS:[EBP-44]
00446A69 FF15 40144000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
00446A6F 8D4D AC LEA ECX,DWORD PTR SS:[EBP-54]
00446A72 FF15 30104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
00446A78 C745 FC 0600000>MOV DWORD PTR SS:[EBP-4],6
00446A7F DB45 C0 FILD DWORD PTR SS:[EBP-40] 装入整数到st(0)
00446A82 DD9D 78FFFFFF FSTP QWORD PTR SS:[EBP-88] 保存实数st(0)到dest
00446A88 DB45 CC FILD DWORD PTR SS:[EBP-34] 装入整数到st(0)
00446A8B DD9D 70FFFFFF FSTP QWORD PTR SS:[EBP-90] 保存实数st(0)到dest
00446A91 8B95 74FFFFFF MOV EDX,DWORD PTR SS:[EBP-8C]
00446A97 52 PUSH EDX
00446A98 8B85 70FFFFFF MOV EAX,DWORD PTR SS:[EBP-90]
00446A9E 50 PUSH EAX
00446A9F 68 00000040 PUSH 40000000
00446AA4 6A 00 PUSH 0
00446AA6 FF15 68134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaPower>; MSVBVM60.__vbaPowerR8 //开方
00446AAC DC8D 78FFFFFF FMUL QWORD PTR SS:[EBP-88]
00446AB2 DFE0 FSTSW AX 保存状态字的值到dest
00446AB4 A8 0D TEST AL,0D
00446AB6 0F85 00010000 JNZ qzone.00446BBC
00446ABC FF15 D0134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpI4>>; MSVBVM60.__vbaFpI4
00446AC2 8B4D D0 MOV ECX,DWORD PTR SS:[EBP-30]
00446AC5 33C8 XOR ECX,EAX
00446AC7 894D D0 MOV DWORD PTR SS:[EBP-30],ECX
00446ACA C745 FC 0700000>MOV DWORD PTR SS:[EBP-4],7
00446AD1 DB45 C0 FILD DWORD PTR SS:[EBP-40] 装入整数到st(0) 将[EBP-40]的值传给ST(0)
00446AD4 DD9D 68FFFFFF FSTP QWORD PTR SS:[EBP-98] 保存实数st(0)到dest ST0的值)传给ESP中
00446ADA DB45 C4 FILD DWORD PTR SS:[EBP-3C] 装入整数到st(0)
00446ADD DD9D 60FFFFFF FSTP QWORD PTR SS:[EBP-A0] 保存实数st(0)到dest
00446AE3 8B95 64FFFFFF MOV EDX,DWORD PTR SS:[EBP-9C]
00446AE9 52 PUSH EDX
00446AEA 8B85 60FFFFFF MOV EAX,DWORD PTR SS:[EBP-A0]
00446AF0 50 PUSH EAX
00446AF1 68 00000040 PUSH 40000000
00446AF6 6A 00 PUSH 0
00446AF8 FF15 68134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaPower>; MSVBVM60.__vbaPowerR8 //计算y=x^2 求ST(0)的平方根得到
00446AFE DC8D 68FFFFFF FMUL QWORD PTR SS:[EBP-98] //乘上一个实数st(0) <- st(0) * st(1)
00446B04 DFE0 FSTSW AX 保存状态字的值到dest
00446B06 A8 0D TEST AL,0D
00446B08 0F85 AE000000 JNZ qzone.00446BBC
00446B0E FF15 D0134000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpI4>>; MSVBVM60.__vbaFpI4
00446B14 8B4D D0 MOV ECX,DWORD PTR SS:[EBP-30]
00446B17 33C8 XOR ECX,EAX
00446B19 894D D0 MOV DWORD PTR SS:[EBP-30],ECX
00446B1C C745 FC 0800000>MOV DWORD PTR SS:[EBP-4],8
00446B23 8B45 CC MOV EAX,DWORD PTR SS:[EBP-34]
00446B26 83C0 0B ADD EAX,0B
00446B29 0F80 92000000 JO qzone.00446BC1
00446B2F 99 CDQ
00446B30 B9 13000000 MOV ECX,13 /13 FIDIVR src 用整数除 st(0) <- src /st(0) (mem16/mem32)
00446B35 F7F9 IDIV ECX
00446B37 8955 CC MOV DWORD PTR SS:[EBP-34],EDX
00446B3A C745 FC 0900000>MOV DWORD PTR SS:[EBP-4],9
00446B41 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C]
00446B44 83C0 13 ADD EAX,13
00446B47 70 78 JO SHORT qzone.00446BC1
00446B49 99 CDQ
00446B4A B9 17000000 MOV ECX,17 /17
00446B4F F7F9 IDIV ECX
00446B51 8955 C4 MOV DWORD PTR SS:[EBP-3C],EDX 保存余数
00446B54 C745 FC 0A00000>MOV DWORD PTR SS:[EBP-4],0A
00446B5B ^ E9 A6FEFFFF JMP qzone.00446A06
00446B60 C745 FC 0B00000>MOV DWORD PTR SS:[EBP-4],0B
00446B67 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]
00446B6A 8955 D4 MOV DWORD PTR SS:[EBP-2C],EDX 真码
00446B6D 9B WAIT
00446B6E 68 926B2401 PUSH qzone.00446B92
00446B73 EB 13 JMP SHORT qzone.00446B88
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课