一个光盘管理软件算法分析.
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
如果作者看到.请加强软件自身加密力度,不敬之处请海量.
【过 程】:
侦察无壳DELPHI编写。动用DEDE细细查看,发现蛛丝马迹,调用OLLYDBG(我最爱用的^_^)下断拦截,
* Reference to control edRegCode : TdxEdit [15]
|
005D33B1 8B8310030000 mov eax, [ebx+$0310]
|
005D33B7 E8482FE6FF call 00436304
005D33BC 8B45FC mov eax, [ebp-$04]
* Reference to : TRentalFm._PROC_005D2E28()
|
005D33BF E864FAFFFF call 005D2E28 杀进去瞧瞧.^_^
005D33C4 84C0 test al, al 进去看看上面的CALL怎么能出
005D33C6 743B jz 005D3403
005D33C8 A174CE6200 mov eax, dword ptr [$0062CE74]
005D33CD 8B00 mov eax, [eax]
005D33CF 8B55FC mov edx, [ebp-$04]
|
005D33D2 E80D6EFBFF call 0058A1E4
005D33D7 6A00 push $00
005D33D9 668B0D48345D00 mov cx, word ptr [$005D3448]
005D33E0 B202 mov dl, $02
* Possible String Reference to: '祝贺您,注册成功!'
|
005D33E2 B854345D00 mov eax, $005D3454
|
005D33E7 E8DCE2E8FF call 004616C8
005D33EC 8D8320030000 lea eax, [ebx+$0320]
005D33F2 8B55FC mov edx, [ebp-$04]
|
005D33F5 E8060BE3FF call 00403F00
005D33FA 8BC3 mov eax, ebx
|
005D33FC E897FEFFFF call 005D3298
005D3401 EB23 jmp 005D3426
005D3403 6A00 push $00
005D3405 668B0D48345D00 mov cx, word ptr [$005D3448]
005D340C B201 mov dl, $01
* Possible String Reference to: '对不起,注册失败,请校对注册码'
|
005D340E B870345D00 mov eax, $005D3470
|
005D3413 E8B0E2E8FF call 004616C8
* Reference to control edRegCode : TdxEdit [15]
|
005D3418 8B8310030000 mov eax, [ebx+$0310]
005D341E 8B10 mov edx, [eax]
005D3420 FF92B0000000 call dword ptr [edx+$00B0]
005D3426 33C0 xor eax, eax
005D3428 5A pop edx
005D3429 59 pop ecx
005D342A 59 pop ecx
005D342B 648910 mov fs:[eax], edx
****** FINALLY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
进来 call 005D2E28
.........................
005D2E53 |. 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-C] ; 机器码=》EAXAX, D
005D2E56 |. 8D55 F8 LEA EDX, DWORD PTR SS:[EBP-8]
005D2E59 |. E8 46FFFFFF CALL CdBoss.005D2DA4 进去瞅瞅 .呵呵.
005D2E5E |. 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-8] 这明码已经看到
005D2E61 |. E8 FAFCFFFF CALL CdBoss.005D2B60 进去求的真码的值.
005D2E66 |. 8BD8 MOV EBX, EAX
005D2E68 |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
005D2E6B |. E8 F0FCFFFF CALL CdBoss.005D2B60 假码运算的值
005D2E70 |. 85C0 TEST EAX, EAX 不为零.哪跳...
005D2E72 |. 75 04 JNZ SHORT CdBoss.005D2E78
005D2E74 |. 33DB XOR EBX, EBX
005D2E76 |. EB 0A JMP SHORT CdBoss.005D2E82
005D2E78 |> 3BC3 CMP EAX, EBX 真假码的运算结果值相等吗?
005D2E7A |. 75 04 JNZ SHORT CdBoss.005D2E80 不等?:( 你该可怜了.
005D2E7C |. B3 01 MOV BL, 1 相等?:) 给你个糖吃.
005D2E7E |. EB 02 JMP SHORT CdBoss.005D2E82
005D2E80 |> 33DB XOR EBX, EBX
005D2E82 |> 33C0 XOR EAX, EAX
005D2E84 |. 5A POP EDX
005D2E85 |. 59 POP ECX
005D2E86 |. 59 POP ECX
005D2E87 |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
005D2E8A |. 68 A42E5D00 PUSH CdBoss.005D2EA4 EBX=EAX .呵呵.爽吧.
005D2E8F |> 8D45 F4 LEA EAX, DWORD PTR SS:[EBP-C]
005D2E92 |. BA 03000000 MOV EDX, 3
005D2E97 |. E8 3410E3FF CALL CdBoss.00403ED0
005D2E9C \. C3 RETN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
进来瞅瞅了.
005D2DA4 /$ 55 PUSH EBP
005D2DA5 |. 8BEC MOV EBP, ESP
005D2DA7 |. 83C4 F4 ADD ESP, -0C
005D2DAA |. 53 PUSH EBX
005D2DAB |. 56 PUSH ESI
005D2DAC |. 8BF2 MOV ESI, EDX
005D2DAE |. 8945 FC MOV DWORD PTR SS:[EBP-4], EAX
005D2DB1 |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
005D2DB4 |. E8 3715E3FF CALL CdBoss.004042F0
005D2DB9 |. 33C0 XOR EAX, EAX
005D2DBB |. 55 PUSH EBP
005D2DBC |. 68 1B2E5D00 PUSH CdBoss.005D2E1B
005D2DC1 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005D2DC4 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP
005D2DC7 |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
005D2DCA |. E8 91FDFFFF CALL CdBoss.005D2B60 ?(1) 进去瞧瞧
005D2DCF |. 8BD8 MOV EBX, EAX (1)里出来的EAX=EBX
005D2DD1 |. 85DB TEST EBX, EBX
005D2DD3 |. 75 09 JNZ SHORT CdBoss.005D2DDE 跳
005D2DD5 |. 8BC6 MOV EAX, ESI
005D2DD7 |. E8 D010E3FF CALL CdBoss.00403EAC
005D2DDC |. EB 27 JMP SHORT CdBoss.005D2E05
005D2DDE |> 2B1D 78CA6200 SUB EBX, DWORD PTR DS:[62CA78] EBX-034D82E6(固定值)
005D2DE4 |. 895D F4 MOV DWORD PTR SS:[EBP-C], EBX ; EBX=FCB4304F
005D2DE7 |. 33C0 XOR EAX, EAX
005D2DE9 |. 8945 F8 MOV DWORD PTR SS:[EBP-8], EAX
005D2DEC |. DF6D F4 FILD QWORD PTR SS:[EBP-C] 常数FCB4304F入ST(0)
005D2DEF |. DC0D 7CCA6200 FMUL QWORD PTR DS:[62CA7C] ST(0)= ST(0)*0.940428140000
005D2DF5 |. E8 76FDE2FF CALL CdBoss.00402B70
005D2DFA |. 8BD8 MOV EBX, EAX ;转换浮点前整数为16位值 EDA65ACD
005D2DFC |. 8BD6 MOV EDX, ESI
005D2DFE |. 8BC3 MOV EAX, EBX
005D2E00 |. E8 67FCFFFF CALL CdBoss.005D2A6C ?(2) 在去看看吧.^_^
005D2E05 |> 33C0 XOR EAX, EAX
005D2E07 |. 5A POP EDX
005D2E08 |. 59 POP ECX
005D2E09 |. 59 POP ECX
005D2E0A |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
005D2E0D |. 68 222E5D00 PUSH CdBoss.005D2E22
005D2E12 |> 8D45 FC LEA EAX, DWORD PTR SS:[EBP-4]
005D2E15 |. E8 9210E3FF CALL CdBoss.00403EAC
005D2E1A \. C3 RETN
##################################################################
(1)
005D2B60 /$ 55 PUSH EBP
005D2B61 |. 8BEC MOV EBP, ESP
005D2B63 |. 83C4 F8 ADD ESP, -8
005D2B66 |. 53 PUSH EBX
005D2B67 |. 56 PUSH ESI
005D2B68 |. 33D2 XOR EDX, EDX
005D2B6A |. 8955 F8 MOV DWORD PTR SS:[EBP-8], EDX
005D2B6D |. 8945 FC MOV DWORD PTR SS:[EBP-4], EAX
005D2B70 |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
005D2B73 |. E8 7817E3FF CALL CdBoss.004042F0
005D2B78 |. 33C0 XOR EAX, EAX
005D2B7A |. 55 PUSH EBP
005D2B7B |. 68 3A2C5D00 PUSH CdBoss.005D2C3A
005D2B80 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005D2B83 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP
005D2B86 |. 8B55 FC MOV EDX, DWORD PTR SS:[EBP-4]
005D2B89 |. B8 542C5D00 MOV EAX, CdBoss.005D2C54
005D2B8E |. E8 9518E3FF CALL CdBoss.00404428
005D2B93 |. 85C0 TEST EAX, EAX
005D2B95 |. 76 1F JBE SHORT CdBoss.005D2BB6
005D2B97 |> 8D55 FC /LEA EDX, DWORD PTR SS:[EBP-4]
005D2B9A |. B9 01000000 |MOV ECX, 1 此处循环将
005D2B9F |. 92 |XCHG EAX, EDX 注册码中的
005D2BA0 |. E8 DF17E3FF |CALL CdBoss.00404384 "-"去掉!
005D2BA5 |. 8B55 FC |MOV EDX, DWORD PTR SS:[EBP-4]
005D2BA8 |. B8 542C5D00 |MOV EAX, CdBoss.005D2C54
005D2BAD |. E8 7618E3FF |CALL CdBoss.00404428
005D2BB2 |. 85C0 |TEST EAX, EAX
005D2BB4 |.^ 77 E1 \JA SHORT CdBoss.005D2B97
005D2BB6 |> 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4] 去掉-的假码入EAX
005D2BB9 |. E8 7E15E3FF CALL CdBoss.0040413C
005D2BBE |. 83F8 08 CMP EAX, 8 比较是否是8位.注册码需要的位数
005D2BC1 |. 74 04 JE SHORT CdBoss.005D2BC7
005D2BC3 |. 33DB XOR EBX, EBX
005D2BC5 |. EB 58 JMP SHORT CdBoss.005D2C1F
005D2BC7 |> 8D55 F8 LEA EDX, DWORD PTR SS:[EBP-8]
005D2BCA |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
005D2BCD |. E8 E66CE3FF CALL CdBoss.004098B8
005D2BD2 |. 33C9 XOR ECX, ECX ECX=0
005D2BD4 |. 33F6 XOR ESI, ESI ESI=0
005D2BD6 |. B8 06000000 MOV EAX, 6 ; eax=6
005D2BDB |> 8B55 F8 /MOV EDX, DWORD PTR SS:[EBP-8] 1机器码2真码3假码入EDX
005D2BDE |. 0FB65402 FF |MOVZX EDX, BYTE PTR DS:[EDX+EAX-1]
依次取第6位-1位的HEX值
005D2BE3 |. 83EA 30 |SUB EDX, 30 EDX=EDX-30
005D2BE6 |. 03F2 |ADD ESI, EDX ESI=ESI+EDX
005D2BE8 |. 03C9 |ADD ECX, ECX
005D2BEA |. 8D0C89 |LEA ECX, DWORD PTR DS:[ECX+ECX*4]
005D2BED |. 03D1 |ADD EDX, ECX 总值赋予EDX
005D2BEF |. 8BCA |MOV ECX, EDX ECX=EDX
005D2BF1 |. 48 |DEC EAX
005D2BF2 |. 85C0 |TEST EAX, EAX 比较是否取完.
005D2BF4 |.^ 75 E5 \JNZ SHORT CdBoss.005D2BDB
005D2BF6 |. 33D2 XOR EDX, EDX
005D2BF8 |. B8 08000000 MOV EAX, 8 EAX=8
005D2BFD |> 03D2 /ADD EDX, EDX
005D2BFF |. 8D1492 |LEA EDX, DWORD PTR DS:[EDX+EDX*4]
005D2C02 |. 8B5D F8 |MOV EBX, DWORD PTR SS:[EBP-8]
005D2C05 |. 0FB65C03 FF |MOVZX EBX, BYTE PTR DS:[EBX+EAX-1]
依次取8位和7位的HEX值.
005D2C0A |. 83EB 30 |SUB EBX, 30
005D2C0D |. 03D3 |ADD EDX, EBX
005D2C0F |. 48 |DEC EAX
005D2C10 |. 83F8 06 |CMP EAX, 6
005D2C13 |.^ 75 E8 \JNZ SHORT CdBoss.005D2BFD
005D2C15 |. 3BF2 CMP ESI, EDX
005D2C17 |. 74 04 JE SHORT CdBoss.005D2C1D
005D2C19 |. 33DB XOR EBX, EBX
005D2C1B |. EB 02 JMP SHORT CdBoss.005D2C1F
005D2C1D |> 8BD9 MOV EBX, ECX ECX=EBX 第一次这个值后面需要
005D2C1F |> 33C0 XOR EAX, EAX
005D2C21 |. 5A POP EDX
005D2C22 |. 59 POP ECX
005D2C23 |. 59 POP ECX
005D2C24 |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
005D2C27 |. 68 412C5D00 PUSH CdBoss.005D2C41
005D2C2C |> 8D45 F8 LEA EAX, DWORD PTR SS:[EBP-8] EAX=ECX的值
005D2C2F |. BA 02000000 MOV EDX, 2
005D2C34 |. E8 9712E3FF CALL CdBoss.00403ED0
005D2C39 \. C3 RETN
###########################################################
(2)
``````
005D2A97 |. BB 06000000 MOV EBX, 6 EBX=6
005D2A9C |> 8B45 FC /MOV EAX, DWORD PTR SS:[EBP-4] EDA65ACD=EAX
005D2A9F |. B9 0A000000 |MOV ECX, 0A ECX=A
005D2AA4 |. 33D2 |XOR EDX, EDX
005D2AA6 |. F7F1 |DIV ECX EAX/ECX
005D2AA8 |. 8BF2 |MOV ESI, EDX 取6次,为注册码前6位
005D2AAA |. 03FE |ADD EDI, ESI 将余数相加存入EDI=B
005D2AAC |. 8D45 F0 |LEA EAX, DWORD PTR SS:[EBP-10]
005D2AAF |. 8D56 30 |LEA EDX, DWORD PTR DS:[ESI+30]
005D2AB2 |. E8 9D15E3FF |CALL CdBoss.00404054
005D2AB7 |. 8B55 F0 |MOV EDX, DWORD PTR SS:[EBP-10]
005D2ABA |. 8D45 F4 |LEA EAX, DWORD PTR SS:[EBP-C]
005D2ABD |. E8 8216E3FF |CALL CdBoss.00404144
005D2AC2 |. 8B45 FC |MOV EAX, DWORD PTR SS:[EBP-4] EDA65ACD=EAX
005D2AC5 |. B9 0A000000 |MOV ECX, 0A
005D2ACA |. 33D2 |XOR EDX, EDX
005D2ACC |. F7F1 |DIV ECX
005D2ACE |. 8945 FC |MOV DWORD PTR SS:[EBP-4], EAX 商放入EBP-4
005D2AD1 |. 4B |DEC EBX
005D2AD2 |.^ 75 C8 \JNZ SHORT CdBoss.005D2A9C 除完6次.就出来了.
005D2AD4 |. BB 02000000 MOV EBX, 2 EBX=2
005D2AD9 |> 8BC7 /MOV EAX, EDI EDI=EAX
005D2ADB |. B9 0A000000 |MOV ECX, 0A
005D2AE0 |. 33D2 |XOR EDX, EDX
005D2AE2 |. F7F1 |DIV ECX
005D2AE4 |. 8BF2 |MOV ESI, EDX 余数放入ESI取2次,为注册码后2位
005D2AE6 |. 8D45 EC |LEA EAX, DWORD PTR SS:[EBP-14]
005D2AE9 |. 8D56 30 |LEA EDX, DWORD PTR DS:[ESI+30]
005D2AEC |. E8 6315E3FF |CALL CdBoss.00404054
005D2AF1 |. 8B55 EC |MOV EDX, DWORD PTR SS:[EBP-14]
005D2AF4 |. 8D45 F4 |LEA EAX, DWORD PTR SS:[EBP-C]
005D2AF7 |. E8 4816E3FF |CALL CdBoss.00404144
005D2AFC |. 8BC7 |MOV EAX, EDI
005D2AFE |. B9 0A000000 |MOV ECX, 0A
005D2B03 |. 33D2 |XOR EDX, EDX
005D2B05 |. F7F1 |DIV ECX
005D2B07 |. 8BF8 |MOV EDI, EAX 把商放入EDI
005D2B09 |. 4B |DEC EBX
005D2B0A |.^ 75 CD \JNZ SHORT CdBoss.005D2AD9
005D2B0C |. 8D55 F4 LEA EDX, DWORD PTR SS:[EBP-C]
005D2B0F |. B9 05000000 MOV ECX, 5
005D2B14 |. B8 5C2B5D00 MOV EAX, CdBoss.005D2B5C
005D2B19 |. E8 AE18E3FF CALL CdBoss.004043CC
005D2B1E |. 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-8] 真码前4位后加-
005D2B21 |. 8B55 F4 MOV EDX, DWORD PTR SS:[EBP-C] 组成真码全部.
005D2B24 |. E8 D713E3FF CALL CdBoss.00403F00
005D2B29 |. 33C0 XOR EAX, EAX
005D2B2B |. 5A POP EDX
005D2B2C |. 59 POP ECX
005D2B2D |. 59 POP ECX
005D2B2E |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
005D2B31 |. 68 4B2B5D00 PUSH CdBoss.005D2B4B
005D2B36 |> 8D45 EC LEA EAX, DWORD PTR SS:[EBP-14]
005D2B39 |. BA 03000000 MOV EDX, 3
005D2B3E |. E8 8D13E3FF CALL CdBoss.00403ED0
005D2B43 \. C3 RETN
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章
去除winrar注册框方法
最新文章
比特币病毒怎么破解 比
去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>