160个破解练习之2-Afkayas.1.Exe
来源:互联网 发布:苏州软件测试公司 编辑:程序博客网 时间:2024/05/16 00:47
好了,今天我们来破解这个小程序。
首先,把文件载入PEiD,查看文件的基本信息,看看是否带壳。载入后的信息如下图:
可以看到这个程序使用VB写的,不带壳,好了,可以破解了。
打开这个程序,出现弹窗
随便输入几个字符,点击OK
载入IDA,搜素文本“...Wrong”,得到以下代码:
.text:00402579 test si, si
.text:0040257C mov [ebp-6Ch], eax
.text:0040257F mov [ebp-54h], ecx
.text:00402582 mov [ebp-5Ch], eax
.text:00402585 mov [ebp-44h], ecx
.text:00402588 mov [ebp-4Ch], eax
.text:0040258B jz short loc_4025E5 //若条件成立,跳转到注册失败的代码段,这里可以直接NOP掉,或者改写命令 jnz.....
.text:0040258D push offset aYouGetIt ; "You Get It"
.text:00402592 push offset asc_401B9C ; "\r\n"
.text:00402597 call edi ; __vbaStrCat
.text:00402599 mov edx, eax
.text:0040259B lea ecx, [ebp-18h]
.text:0040259E call ebx ; __vbaStrMove
.text:004025A0 push eax
.text:004025A1 push offset aKeygenItNow ; "KeyGen It Now"
.text:004025A6 call edi ; __vbaStrCat
.text:004025A8 lea ecx, [ebp-6Ch]
.text:004025AB mov [ebp-34h], eax
.text:004025AE lea edx, [ebp-5Ch]
.text:004025B1 push ecx
.text:004025B2 lea eax, [ebp-4Ch]
.text:004025B5 push edx
.text:004025B6 push eax
.text:004025B7 lea ecx, [ebp-3Ch]
.text:004025BA push 0
.text:004025BC push ecx
.text:004025BD mov dword ptr [ebp-3Ch], 8
.text:004025C4 call ds:rtcMsgBox
.text:004025CA lea ecx, [ebp-18h]
.text:004025CD call ds:__vbaFreeStr
.text:004025D3 lea edx, [ebp-6Ch]
.text:004025D6 lea eax, [ebp-5Ch]
.text:004025D9 push edx
.text:004025DA lea ecx, [ebp-4Ch]
.text:004025DD push eax
.text:004025DE lea edx, [ebp-3Ch]
.text:004025E1 push ecx
.text:004025E2 push edx
.text:004025E3 jmp short loc_40263B
.text:004025E5 ; ---------------------------------------------------------------------------
.text:004025E5
.text:004025E5 loc_4025E5: ; CODE XREF: .text:0040258Bj
.text:004025E5 push offset aYouGetWrong ; "You Get Wrong"
.text:004025EA push offset asc_401B9C ; "\r\n"
.text:004025EF call edi ; __vbaStrCat
.text:004025F1 mov edx, eax
.text:004025F3 lea ecx, [ebp-18h]
.text:004025F6 call ebx ; __vbaStrMove
.text:004025F8 push eax
.text:004025F9 push offset aTryAgain ; "Try Again"
.text:004025FE call edi ; __vbaStrCat
直接把文件载入UE,找到.text:0040258B jz short loc_4025E5 代码所在位置,直接改成90 90 或者改成jnz的十六进制代码 即可爆破。
破解成功。
还有其他的方法:
将程序载入OD,找到上述代码处。
1.继续向上查看发现 _vbaStrCmp调用,尝试将esi变为0,过关成功!
.text:00402533 call ds:__vbaStrCmp
.text:00402539 mov esi, eax
.text:0040253B lea edx, [ebp-20h]
.text:0040253E neg esi
.text:00402540 lea eax, [ebp-18h]
2.在弹出框位置下断点,然后直接从堆栈中得到真码和假码,重新输入,过关!
3.从验证入口点直接单步,完成注册机,过关!(此过程得出的结果为"AKA-"+itoa(17CFBH*strlen(input)+input[0]))。
我是在一个大牛的文章里边看到的这个方法,就借鉴过来了。
- 160个破解练习之2-Afkayas.1.Exe
- 160个破解练习之CrackMe 003 Afkayas.2
- 160个破解练习之CrackMe 002 Afkayas.1
- CrackMe 之Afkayas 破解
- 160个破解练习之1-Acid burn.exe
- 160个CrackMe 003 Afkayas.2
- 160 - 2 Afkayas.1
- 160 - 3 Afkayas.2
- [破解实例][OllyDbg] CrackMe003-Afkayas.2
- 160个破解练习之CrackMe 006
- 160个破解练习之CrackMe 007
- 160个破解练习之CrackMe 008
- 160个CrackMe 002 Afkayas.1
- 破解练习之Acid burn.exe
- 160个破解练习之CrackMe 001 Acid burn
- 160个破解练习之CrackMe 004 CKme
- 160个破解练习之CrackMe 005 CKme002
- [破解实例][OllyDbg] CrackMe002-Afkayas.1
- fork出的子进程和父进程 避免僵死进程
- stm32f10x_it.c: Error: C3065E: type of input file 'and' unknown 错误解决
- ubuntu 添加管理员账号
- CMCC登录参数分析
- 第七周项目5-求圆柱的表面积
- 160个破解练习之2-Afkayas.1.Exe
- Linux进程管理父进程和子进程
- Java 实现组合(Composite)模式
- HNU 13081 Even Up Solitaire解题报告
- 最小生成树prim算法(贪心)
- linux下nc的使用
- 第七周 简单分支问题体验
- HTML5 内联 SVG
- Git and Github references