当前位置:编程学习 > 网站相关 >>

爆破一易语言CrackMe,KEY授权导入类型

爆破一易语言CrackMe,KEY授权导入类型

程序地址html">http://www.52pojie.cn/thread-23566-1-1.html

运行程序出现,“注册文件导入失败,请查看您是否拥有授权Key”
程序好还加了VMP


--------
OD载入,下断bp MessageBoxA,F9运行。断下后看堆栈

0012FF10   00C3189D /CALL 到 MessageBoxA 来自 00C31898          ;在这返回
0012FF14   00000000 |hOwner = NULL
0012FF18   00C301F2 |Text = "注册文件导入失败,请查看您是否拥有授权Key"
0012FF1C   00C3021C |Title = "信息:"
0012FF20   00000000 Style = MB_OK|MB_APPLMODAL
0012FF24   00000283
----------------

00C31898    E8 A1130000      call 00C32C3E                     ; 错误提示,返回到这里,向上找到段首
00C3189D    3965 F4          cmp dword ptr ss:[ebp-C],esp
00C318A0    74 0D            je short 00C318AF
00C318A2    68 06000000      push 6
00C318A7    E8 8C130000      call 00C32C38
-----------------
00C3182D    55               push ebp                          ; 段首,下硬件执行断点,重载程序
00C3182E    8BEC             mov ebp,esp


重新载入后,F9运行,中断在

00C3182D    55               push ebp

看堆栈第一行,返回

0012FF48   00C31809 返回到 00C31809 来自 00C3182D ;在这里返回。
-----------------
00C31809    8B5D F4          mov ebx,dword ptr ss:[ebp-C]      ; 返回到这里,
---------
向上找段首,下硬件执行断点。重载程序

00C317D6    55               push ebp                          ; 段首,下硬件执行断点,重新载入
00C317D7    8BEC             mov ebp,esp
-------------------

重载,断下后在看堆栈,在返回
0012FF70   00C30926 返回到 00C30926 来自 00C317D6

---------
返回到这里,程序里出现了RegFile.key

00C30917    837D EC 00       cmp dword ptr ss:[ebp-14],0
00C3091B    0F85 0F000000    jnz 00C30930                      ;检查有没有Regfile.key文件,没有就不跳
00C30921    E8 B00E0000      call 00C317D6
00C30926    6A 00            push 0                            ; 返回到这里。
00C30928    E8 F3220000      call 00C32C20
00C3092D    83C4 04          add esp,4
00C30930    E8 62010000      call 00C30A97
00C30935    8945 F4          mov dword ptr ss:[ebp-C],eax
00C30938    68 CC01C300      push 0C301CC                      ; ASCII "Regfile.key"
00C3093D    FF75 F4          push dword ptr ss:[ebp-C]
00C30940    B9 02000000      mov ecx,2
00C30945    E8 0DFEFFFF      call 00C30757
-----------------

向上找到段首,下硬件执行断点,找到这
              
00C30850    55               push ebp                          在这里下断
00C30851    8BEC             mov ebp,esp
00C30853    81EC 20000000    sub esp,20
00C30859    C745 FC 00000000 mov dword ptr ss:[ebp-4],0
00C30860    C745 F8 00000000 mov dword ptr ss:[ebp-8],0

-------------

重新载入程序,F9运行中断后,F8单步到

00C3091B   /0F85 0F000000    jnz 00C30930                      ; 查测有没有key文件,这里要跳过。改jmp

,或者在文件夹里建一个Regfile.key文件,就不用改了。
00C30921   |E8 B00E0000      call 00C317D6
00C30926   |6A 00            push 0
00C30928   |E8 F3220000      call 00C32C20
00C3092D   |83C4 04          add esp,4
00C30930   E8 62010000      call 00C30A97
00C30935    8945 F4          mov dword ptr ss:[ebp-C],eax
00C30938    68 CC01C300      push 0C301CC                      ; ASCII "Regfile.key"
----------------

F8继续向下走,到
00C309D2    E8 73220000      call 00C32C4A                     ; 单步到这里后,程序出错
00C309D7    83C4 10          add esp,10
00C309DA    8945 E0          mov dword ptr ss:[ebp-20],eax
00C309DD    8B5D E4          mov ebx,dword ptr ss:[ebp-1C]
00C309E0    85DB             test ebx,ebx

出错: "Runtime error. Error number is P:3 L:0."

重载程序,F9运行断在程序段首,F8单步,一直走到出错CALL,把这个CALL,NOP掉
00C309D2    90               nop
00C309D3    90               nop
00C309D4    90               nop
00C309D5    90               nop
00C309D6    90     

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,