TA的每日心情 | 开心 2015-8-23 23:49 |
---|
签到天数: 27 天 [LV.4]偶尔看看III
|
本帖最后由 GGLHY 于 2011-2-7 02:25 编辑
明天凌晨要出远门,短期内没什么机会OD了。反正这时也睡不着,翻了翻硬盘,无意找到这个软件,顺便练练手吧,也和初学者们共同学习下。欢迎大家指正!
直接来到:
00541C8B |. E8 0C2EECFF CALL 00404A9C
00541C90 |. 83F8 14 CMP EAX,14 ; 假码长度为20位吗?
00541C93 |. 0F85 D5000000 JNZ 00541D6E
00541C99 |. A0 F01D5400 MOV AL,BYTE PTR DS:[541DF0] ; [全局变量?=01]
00541C9E |. 50 PUSH EAX
00541C9F |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
00541CA2 |. 50 PUSH EAX
00541CA3 |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
00541CA6 |. 8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]
00541CAC |. E8 9B9FF2FF CALL 0046BC4C
00541CB1 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] ; 机器码
00541CB4 |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
00541CB7 |. E8 00F4FFFF CALL 005410BC ; 算法CALL,F7
00541CBC |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] ; 真码!
00541CBF |. B9 081E5400 MOV ECX,00541E08
00541CC4 |. BA 141E5400 MOV EDX,00541E14
00541CC9 |. E8 D6CCECFF CALL 0040E9A4
00541CCE |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00541CD1 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00541CD4 |. E8 0F2FECFF CALL 00404BE8 ; 内存注册机,EAX
00541CD9 |. 0F85 8F000000 JNZ 00541D6E ; 关键跳!
...
(省略部分代码)
...
00541D6E |> \6A 20 PUSH 20
00541D70 |. 68 181E5400 PUSH 00541E18
00541D75 |. 68 641E5400 PUSH 00541E64
00541D7A |. 8BC3 MOV EAX,EBX
00541D7C |. E8 FB07F3FF CALL 0047257C
00541D81 |. 50 PUSH EAX ; |hOwner
00541D82 |. E8 D55BECFF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA ///出错啦!
00541D87 |> 33C0 XOR EAX,EAX
==========================================================我们F7进去:
005410BC /$ 55 PUSH EBP
005410BD |. 8BEC MOV EBP,ESP
005410BF |. B9 14000000 MOV ECX,14
005410C4 |> 6A 00 /PUSH 0
005410C6 |. 6A 00 |PUSH 0
005410C8 |. 49 |DEC ECX
005410C9 |.^ 75 F9 \JNZ SHORT 005410C4
005410CB |. 53 PUSH EBX
005410CC |. 56 PUSH ESI
005410CD |. 57 PUSH EDI
005410CE |. 8BFA MOV EDI,EDX
005410D0 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
005410D3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 机器码
005410D6 |. E8 B13BECFF CALL 00404C8C
005410DB |. 33C0 XOR EAX,EAX
005410DD |. 55 PUSH EBP
005410DE |. 68 FC155400 PUSH 005415FC
005410E3 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005410E6 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005410E9 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
005410EC |. BA 14165400 MOV EDX,00541614 ; 固定字符串1(表1)ASCII "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
005410F1 |. E8 6E37ECFF CALL 00404864
005410F6 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
005410F9 |. BA 44165400 MOV EDX,00541644 ; 固定字符串2(表1)ASCII "T9OP1QWVUZCD37FGHLAIJM0K4Y5EN6B82XRS"
005410FE |. E8 6137ECFF CALL 00404864
00541103 |. A0 6C165400 MOV AL,BYTE PTR DS:[54166C] ; 又一个?
00541108 |. 50 PUSH EAX
00541109 |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
0054110C |. 50 PUSH EAX
0054110D |. 33C9 XOR ECX,ECX
0054110F |. BA 78165400 MOV EDX,00541678
00541114 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 机器码
00541117 |. E8 88D8ECFF CALL 0040E9A4
0054111C |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] ; 去掉其中的“-”,下面说的机器码都是去掉“-“后的
0054111F |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
00541122 |. E8 3D37ECFF CALL 00404864
00541127 |. 33F6 XOR ESI,ESI
00541129 |. BB 01000000 MOV EBX,1 ; EBX=1
0054112E |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
00541131 |. 8A4418 FF |MOV AL,BYTE PTR DS:[EAX+EBX-1] ; 依次ASC
00541135 |. 04 D0 |ADD AL,0D0 ; +0D0
00541137 |. 2C 0A |SUB AL,0A ; -0A
00541139 |. 73 1D |JNB SHORT 00541158 ; 不低于(0?)则跳
0054113B |. 8D45 E8 |LEA EAX,DWORD PTR SS:[EBP-18]
0054113E |. 50 |PUSH EAX
0054113F |. B9 01000000 |MOV ECX,1
00541144 |. 8BD3 |MOV EDX,EBX
00541146 |. 8B45 FC |MOV EAX,DWORD PTR SS:[EBP-4]
00541149 |. E8 AE3BECFF |CALL 00404CFC
0054114E |. 8B45 E8 |MOV EAX,DWORD PTR SS:[EBP-18]
00541151 |. E8 B282ECFF |CALL 00409408
00541156 |. 03F0 |ADD ESI,EAX ; (+D0-0A后)不跳的话,即机器码的数字值直接累加
00541158 |> 43 |INC EBX
00541159 |. 83FB 11 |CMP EBX,11 ; 16位取完了吗?(EBX初始为1)
0054115C |.^ 75 D0 \JNZ SHORT 0054112E
0054115E |. 8BC6 MOV EAX,ESI ; 机器码中(数字)累加的结果
00541160 |. B9 24000000 MOV ECX,24 ; ECX=24
00541165 |. 99 CDQ
00541166 |. F7F9 IDIV ECX ; /24
00541168 |. 8BF2 MOV ESI,EDX ; 余数到ESI
0054116A |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054116D |. 50 PUSH EAX
0054116E |. B9 01000000 MOV ECX,1 ; 注意这个参数,即要取的字符长度
00541173 |. 8BD6 MOV EDX,ESI ; 余数到EDI
00541175 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 固定字符串1:1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
00541178 |. E8 7F3BECFF CALL 00404CFC ; 这个CALL实质是根据余数来查表
0054117D |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] ; 本例余数20H,查表得到字符“V”(长度mov ECX,1决定)
00541180 |. 50 PUSH EAX
00541181 |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
00541184 |. 50 PUSH EAX
00541185 |. B9 01000000 MOV ECX,1 ; 这里,意味着取的长度
0054118A |. BA 03000000 MOV EDX,3 ; 注意这里的参数3
0054118F |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
00541192 |. E8 653BECFF CALL 00404CFC
00541197 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] ; 呵呵,机器码第3位的ASC
0054119A |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 固定字符串1:1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
0054119D |. E8 3E3CECFF CALL 00404DE0
005411A2 |. 8BD0 MOV EDX,EAX ; 机器码第3位在固定字符串1中的位置值
005411A4 |. B9 01000000 MOV ECX,1
005411A9 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 固定字符串2:T9OP1QWVUZCD37FGHLAIJM0K4Y5EN6B82XRS
005411AC |. E8 4B3BECFF CALL 00404CFC
005411B1 |. 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C] ; 所取机器码查表得到的位置值来取固定字符串2中的字符(的ASC)
005411B4 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005411B7 |. E8 E838ECFF CALL 00404AA4
005411BC |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
005411BF |. 50 PUSH EAX
005411C0 |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
005411C3 |. 50 PUSH EAX
005411C4 |. B9 01000000 MOV ECX,1 ; 取的长度
005411C9 |. BA 01000000 MOV EDX,1 ; 参数意味着是取机器码第一位,即取的起点
005411CE |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
005411D1 |. E8 263BECFF CALL 00404CFC
005411D6 |. 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28] ; 机器码第1位
005411D9 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 固定字符串1
005411DC |. E8 FF3BECFF CALL 00404DE0
005411E1 |. 8BD0 MOV EDX,EAX ; 机器码第1位在固定字符串1中的位置值
005411E3 |. B9 01000000 MOV ECX,1
005411E8 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 固定字符串2:T9OP1QWVUZCD37FGHLAIJM0K4Y5EN6B82XRS
005411EB |. E8 0C3BECFF CALL 00404CFC
005411F0 |. 8B55 DC MOV EDX,DWORD PTR SS:[EBP-24] ; 按该位置值在字符串2中取字符(R)
005411F3 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005411F6 |. E8 A938ECFF CALL 00404AA4
005411FB |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
005411FE |. 50 PUSH EAX
005411FF |. 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
00541202 |. 50 PUSH EAX
00541203 |. B9 01000000 MOV ECX,1 ; 取的长度
00541208 |. BA 08000000 MOV EDX,8 ; 取的起点(机器码第8位)
0054120D |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
00541210 |. E8 E73AECFF CALL 00404CFC
00541215 |. 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30] ; 机器码第8位(G)
00541218 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 固定字符串1
0054121B |. E8 C03BECFF CALL 00404DE0
00541220 |. 8BD0 MOV EDX,EAX ; 机器码第8位(G)在固定字符串1中的位置值
00541222 |. B9 01000000 MOV ECX,1
00541227 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 固定注意地址[EBP-C],字符串2:T9OP1QWVUZCD37FGHLAIJM0K4Y5EN6B82XRS
0054122A |. E8 CD3AECFF CALL 00404CFC
0054122F |. 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C] ; 按该位置值在字符串2中取字符(H)
00541232 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00541235 |. E8 6A38ECFF CALL 00404AA4
0054123A |. 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]
0054123D |. 50 PUSH EAX
0054123E |. 8D45 C8 LEA EAX,DWORD PTR SS:[EBP-38]
00541241 |. 50 PUSH EAX
00541242 |. B9 01000000 MOV ECX,1 ; 取的长度为1
00541247 |. BA 02000000 MOV EDX,2 ; 取的起点为2
0054124C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
0054124F |. E8 A83AECFF CALL 00404CFC
00541254 |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] ; 机器码第2位(Q)asc
00541257 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 固定字符串1
0054125A |. E8 813BECFF CALL 00404DE0
0054125F |. 8BD0 MOV EDX,EAX ; 机器码第二位在固定字符串1中的位置值
00541261 |. B9 02000000 MOV ECX,2 ; 注意这里的ECX=2,意味着这里取2位
00541266 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 固定字符串2
00541269 |. E8 8E3AECFF CALL 00404CFC
0054126E |. 8B55 CC MOV EDX,DWORD PTR SS:[EBP-34] ; “5E”(固定字符串2的)第27位为5第28位为E。(ECX=2决定)
00541271 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00541274 |. E8 2B38ECFF CALL 00404AA4
00541279 |. 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C]
0054127C |. 50 PUSH EAX
0054127D |. 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40]
00541280 |. 50 PUSH EAX
00541281 |. B9 01000000 MOV ECX,1 ; 取的长度为1
00541286 |. BA 0E000000 MOV EDX,0E ; 起点为第14位
0054128B |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
0054128E |. E8 693AECFF CALL 00404CFC
00541293 |. 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40] ; (Q)
00541296 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541299 |. E8 423BECFF CALL 00404DE0
0054129E |. 8BD0 MOV EDX,EAX
005412A0 |. B9 02000000 MOV ECX,2 ; 注意这里=2
005412A5 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005412A8 |. E8 4F3AECFF CALL 00404CFC
005412AD |. 8B55 C4 MOV EDX,DWORD PTR SS:[EBP-3C] ; 查表2得到的“5E”
005412B0 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005412B3 |. E8 EC37ECFF CALL 00404AA4
005412B8 |. 8D45 BC LEA EAX,DWORD PTR SS:[EBP-44]
005412BB |. 50 PUSH EAX
005412BC |. 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]
005412BF |. 50 PUSH EAX
005412C0 |. B9 01000000 MOV ECX,1 ; 取的长度为1
005412C5 |. BA 04000000 MOV EDX,4 ; 起点为第4位
005412CA |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
005412CD |. E8 2A3AECFF CALL 00404CFC
005412D2 |. 8B45 B8 MOV EAX,DWORD PTR SS:[EBP-48] ; 机器码第4位(4)
005412D5 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
005412D8 |. E8 033BECFF CALL 00404DE0
005412DD |. 8BD0 MOV EDX,EAX
005412DF |. B9 01000000 MOV ECX,1 ; 取1位
005412E4 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005412E7 |. E8 103AECFF CALL 00404CFC
005412EC |. 8B55 BC MOV EDX,DWORD PTR SS:[EBP-44] ; 查表2得到的"P"
005412EF |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005412F2 |. E8 AD37ECFF CALL 00404AA4
005412F7 |. 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C]
005412FA |. 50 PUSH EAX
005412FB |. 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50]
005412FE |. 50 PUSH EAX
005412FF |. B9 01000000 MOV ECX,1
00541304 |. BA 05000000 MOV EDX,5 ; 起点为第5位
00541309 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054130C |. E8 EB39ECFF CALL 00404CFC
00541311 |. 8B45 B0 MOV EAX,DWORD PTR SS:[EBP-50] ; 机器码的5的ASC
00541314 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541317 |. E8 C43AECFF CALL 00404DE0
0054131C |. 8BD0 MOV EDX,EAX
0054131E |. B9 01000000 MOV ECX,1
00541323 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541326 |. E8 D139ECFF CALL 00404CFC
0054132B |. 8B55 B4 MOV EDX,DWORD PTR SS:[EBP-4C] ; 查表2得到的"1"
0054132E |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00541331 |. E8 6E37ECFF CALL 00404AA4
00541336 |. 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]
00541339 |. 50 PUSH EAX
0054133A |. 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]
0054133D |. 50 PUSH EAX
0054133E |. B9 01000000 MOV ECX,1 ; 取的长度为1
00541343 |. BA 10000000 MOV EDX,10 ; 起点第16位
00541348 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054134B |. E8 AC39ECFF CALL 00404CFC
00541350 |. 8B45 A8 MOV EAX,DWORD PTR SS:[EBP-58] ; 机器码中的B(第16位)
00541353 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541356 |. E8 853AECFF CALL 00404DE0
0054135B |. 8BD0 MOV EDX,EAX
0054135D |. B9 01000000 MOV ECX,1
00541362 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541365 |. E8 9239ECFF CALL 00404CFC
0054136A |. 8B55 AC MOV EDX,DWORD PTR SS:[EBP-54] ; 查表2得到的“D”
0054136D |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00541370 |. E8 2F37ECFF CALL 00404AA4
00541375 |. 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
00541378 |. 50 PUSH EAX
00541379 |. 8D45 A0 LEA EAX,DWORD PTR SS:[EBP-60]
0054137C |. 50 PUSH EAX
0054137D |. B9 01000000 MOV ECX,1 ; 取的长度为1
00541382 |. BA 07000000 MOV EDX,7 ; 起点第7位
00541387 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054138A |. E8 6D39ECFF CALL 00404CFC
0054138F |. 8B45 A0 MOV EAX,DWORD PTR SS:[EBP-60] ; 去掉其中的“-”后的机器码的第7位5
00541392 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541395 |. E8 463AECFF CALL 00404DE0
0054139A |. 8BD0 MOV EDX,EAX
0054139C |. B9 01000000 MOV ECX,1
005413A1 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005413A4 |. E8 5339ECFF CALL 00404CFC
005413A9 |. 8B55 A4 MOV EDX,DWORD PTR SS:[EBP-5C] ; 查表2得到的“1”
005413AC |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005413AF |. E8 F036ECFF CALL 00404AA4
005413B4 |. 8D45 9C LEA EAX,DWORD PTR SS:[EBP-64]
005413B7 |. 50 PUSH EAX
005413B8 |. 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
005413BB |. 50 PUSH EAX
005413BC |. B9 01000000 MOV ECX,1 ; 取的长度为1
005413C1 |. BA 09000000 MOV EDX,9 ; 起点第9位
005413C6 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
005413C9 |. E8 2E39ECFF CALL 00404CFC
005413CE |. 8B45 98 MOV EAX,DWORD PTR SS:[EBP-68] ; 去掉其中的“-”后的机器码的第9位(6)
005413D1 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
005413D4 |. E8 073AECFF CALL 00404DE0
005413D9 |. 8BD0 MOV EDX,EAX
005413DB |. B9 02000000 MOV ECX,2 ; 这里ECX=2表示会取2位
005413E0 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005413E3 |. E8 1439ECFF CALL 00404CFC
005413E8 |. 8B55 9C MOV EDX,DWORD PTR SS:[EBP-64] ; 查表2得到的"QW"
005413EB |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005413EE |. E8 B136ECFF CALL 00404AA4
005413F3 |. 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C]
005413F6 |. 50 PUSH EAX
005413F7 |. 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
005413FA |. 50 PUSH EAX
005413FB |. B9 01000000 MOV ECX,1
00541400 |. BA 0B000000 MOV EDX,0B ; 注意参数,第11位
00541405 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 去掉其中的“-”后的机器码
00541408 |. E8 EF38ECFF CALL 00404CFC
0054140D |. 8B45 90 MOV EAX,DWORD PTR SS:[EBP-70] ; 第11位B
00541410 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541413 |. E8 C839ECFF CALL 00404DE0
00541418 |. 8BD0 MOV EDX,EAX
0054141A |. B9 01000000 MOV ECX,1
0054141F |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541422 |. E8 D538ECFF CALL 00404CFC
00541427 |. 8B55 94 MOV EDX,DWORD PTR SS:[EBP-6C] ; 查表2得到的“D”
0054142A |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054142D |. E8 7236ECFF CALL 00404AA4
00541432 |. 8D45 8C LEA EAX,DWORD PTR SS:[EBP-74]
00541435 |. 50 PUSH EAX
00541436 |. 8D45 88 LEA EAX,DWORD PTR SS:[EBP-78]
00541439 |. 50 PUSH EAX
0054143A |. B9 01000000 MOV ECX,1 ; 取的长度为1
0054143F |. BA 0C000000 MOV EDX,0C ; 第12位
00541444 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541447 |. E8 B038ECFF CALL 00404CFC
0054144C |. 8B45 88 MOV EAX,DWORD PTR SS:[EBP-78] ; 第12位的Y
0054144F |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541452 |. E8 8939ECFF CALL 00404DE0
00541457 |. 8BD0 MOV EDX,EAX
00541459 |. B9 01000000 MOV ECX,1
0054145E |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541461 |. E8 9638ECFF CALL 00404CFC
00541466 |. 8B55 8C MOV EDX,DWORD PTR SS:[EBP-74] ; 查表2得到的“R”
00541469 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054146C |. E8 3336ECFF CALL 00404AA4
00541471 |. 8D45 84 LEA EAX,DWORD PTR SS:[EBP-7C]
00541474 |. 50 PUSH EAX
00541475 |. 8D45 80 LEA EAX,DWORD PTR SS:[EBP-80]
00541478 |. 50 PUSH EAX
00541479 |. B9 01000000 MOV ECX,1 ; 取的长度为1
0054147E |. BA 06000000 MOV EDX,6 ; 起点第6位
00541483 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541486 |. E8 7138ECFF CALL 00404CFC
0054148B |. 8B45 80 MOV EAX,DWORD PTR SS:[EBP-80]
0054148E |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541491 |. E8 4A39ECFF CALL 00404DE0
00541496 |. 8BD0 MOV EDX,EAX
00541498 |. B9 01000000 MOV ECX,1
0054149D |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005414A0 |. E8 5738ECFF CALL 00404CFC
005414A5 |. 8B55 84 MOV EDX,DWORD PTR SS:[EBP-7C] ; 查表2得到的“1”
005414A8 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005414AB |. E8 F435ECFF CALL 00404AA4
005414B0 |. 8D85 7CFFFFFF LEA EAX,DWORD PTR SS:[EBP-84]
005414B6 |. 50 PUSH EAX
005414B7 |. 8D85 78FFFFFF LEA EAX,DWORD PTR SS:[EBP-88]
005414BD |. 50 PUSH EAX
005414BE |. B9 01000000 MOV ECX,1
005414C3 |. BA 0D000000 MOV EDX,0D ; 起点第13位
005414C8 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005414CB |. E8 2C38ECFF CALL 00404CFC
005414D0 |. 8B85 78FFFFFF MOV EAX,DWORD PTR SS:[EBP-88]
005414D6 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
005414D9 |. E8 0239ECFF CALL 00404DE0
005414DE |. 8BD0 MOV EDX,EAX
005414E0 |. B9 01000000 MOV ECX,1
005414E5 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005414E8 |. E8 0F38ECFF CALL 00404CFC
005414ED |. 8B95 7CFFFFFF MOV EDX,DWORD PTR SS:[EBP-84] ; 查表2得到的“B”
005414F3 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005414F6 |. E8 A935ECFF CALL 00404AA4
005414FB |. 8D85 74FFFFFF LEA EAX,DWORD PTR SS:[EBP-8C]
00541501 |. 50 PUSH EAX
00541502 |. 8D85 70FFFFFF LEA EAX,DWORD PTR SS:[EBP-90]
00541508 |. 50 PUSH EAX
00541509 |. B9 01000000 MOV ECX,1 ; 取的长度为1
0054150E |. BA 0F000000 MOV EDX,0F ; 第15
00541513 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541516 |. E8 E137ECFF CALL 00404CFC
0054151B |. 8B85 70FFFFFF MOV EAX,DWORD PTR SS:[EBP-90]
00541521 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00541524 |. E8 B738ECFF CALL 00404DE0
00541529 |. 8BD0 MOV EDX,EAX
0054152B |. B9 01000000 MOV ECX,1
00541530 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541533 |. E8 C437ECFF CALL 00404CFC
00541538 |. 8B95 74FFFFFF MOV EDX,DWORD PTR SS:[EBP-8C] ; 查表2得到的“F”
0054153E |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00541541 |. E8 5E35ECFF CALL 00404AA4
00541546 |. 8D85 6CFFFFFF LEA EAX,DWORD PTR SS:[EBP-94]
0054154C |. 50 PUSH EAX
0054154D |. 8D85 68FFFFFF LEA EAX,DWORD PTR SS:[EBP-98]
00541553 |. 50 PUSH EAX
00541554 |. B9 01000000 MOV ECX,1 ; 取的长度为1
00541559 |. BA 0A000000 MOV EDX,0A ; 起点第10位
0054155E |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541561 |. E8 9637ECFF CALL 00404CFC
00541566 |. 8B85 68FFFFFF MOV EAX,DWORD PTR SS:[EBP-98]
0054156C |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
0054156F |. E8 6C38ECFF CALL 00404DE0
00541574 |. 8BD0 MOV EDX,EAX ; 在固定字符串1中的位置值
00541576 |. B9 01000000 MOV ECX,1
0054157B |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
0054157E |. E8 7937ECFF CALL 00404CFC ; 该位置值在固定字符串2中对应的字符,
00541583 |. 8B95 6CFFFFFF MOV EDX,DWORD PTR SS:[EBP-94] ; 查表2得到的“F”
00541589 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054158C |. E8 1335ECFF CALL 00404AA4
00541591 |. 8D95 60FFFFFF LEA EDX,DWORD PTR SS:[EBP-A0]
00541597 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 得到个字符串,(注意第一位)
0054159A |. E8 F5F0FFFF CALL 00540694
0054159F |. 8B85 60FFFFFF MOV EAX,DWORD PTR SS:[EBP-A0] ; 得到的字符串的MD5大写,设为S1
005415A5 |. 8D95 64FFFFFF LEA EDX,DWORD PTR SS:[EBP-9C] ; 得到的字符串
005415AB |. E8 6479ECFF CALL 00408F14
005415B0 |. 8B95 64FFFFFF MOV EDX,DWORD PTR SS:[EBP-9C] ; S1
005415B6 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005415B9 |. E8 A632ECFF CALL 00404864
005415BE |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005415C1 |. 50 PUSH EAX
005415C2 |. B9 14000000 MOV ECX,14 ; 要取的长度,14H=20
005415C7 |. BA 04000000 MOV EDX,4 ; 意味着从第4位起取20位
005415CC |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; S1
005415CF |. E8 2837ECFF CALL 00404CFC
005415D4 |. 8BC7 MOV EAX,EDI
005415D6 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10] ; S1从第4位起取20位
005415D9 |. E8 4232ECFF CALL 00404820
005415DE |. 33C0 XOR EAX,EAX
005415E0 |. 5A POP EDX
005415E1 |. 59 POP ECX
005415E2 |. 59 POP ECX
005415E3 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
005415E6 |. 68 03165400 PUSH 00541603
005415EB |> 8D85 60FFFFFF LEA EAX,DWORD PTR SS:[EBP-A0]
005415F1 |. BA 28000000 MOV EDX,28
005415F6 |. E8 F531ECFF CALL 004047F0
005415FB \. C3 RETN
005415FC .^ E9 0F2BECFF JMP 00404110
00541601 .^ EB E8 JMP SHORT 005415EB
00541603 . 5F POP EDI
00541604 . 5E POP ESI
00541605 . 5B POP EBX
00541606 . 8BE5 MOV ESP,EBP
00541608 . 5D POP EBP
00541609 . C3 RETN
/////////////////////////////////////////////////////////////////////////////////////////////////////////
算法总结:
1.机器码中的数字直接累加,其和除以24H,以余数查表,得到一位字符;
2.机器码按以下顺序运算:
取机器码的顺序为:3 1 8 2 14 4 5 16 7 9 11 12 6 13 15 10
(取2位)(取2位) (取2位)
依次取机器码的字符查表1,得到位置值,按其位置值查表2,得到字符,直至机器码取完,得到字符串;
3.第一步得到的字符与第2步得到的字符串相连,取MD5值(大写),设为S1;
4.取S1的4-23位即为注册码。
--------------------------------------------------------------------------------------------
附 表1:1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
表2:T9OP1QWVUZCD37FGHLAIJM0K4Y5EN6B82XRS
---------------------------------------------------------------------------------------------
以本机为例
0.机器码为:YQ74-555G-6EBY-UQEB
1.机器码中的数字作为数值累加,即7+4+5+5+5+6=32,即16进制的20
20H / 24H(=36) ,余数为20H,在表1中查得为字符“V”
取机器码第3位,为“7”,查它在表1中的位置,得到位置值7,再在表2中查位置为7的字符,得到“W”,
以此类推,但注意第2、第14、第11位时,在表2中查得字符要取2位。得到字符串"WRH5E5EP1D1QWDR1BFF"
2.将“V”与 "WRH5E5EP1D1QWDR1BFF"相连,得到"VWRH5E5EP1D1QWDR1BFF",
然后取MD5(大写),得到:"FF02CE5F1C559DF46972066C8BA8EA66"
3.取"FF02CE5F1C559DF46972066C8BA8EA66"的第4到23位为止即“2CE5F1C559DF46972066”为注册码。
注册信息保存在:
HKEY_LOCAL_MACHINE\SOFTWARE\*******Soft
"key"="2CE5F1C559DF46972066"
删除变为未注册版!
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
评分
-
查看全部评分
|