本帖最后由 腾龙细雨 于 2015-8-7 19:16 编辑
【文章作者】: 腾龙细雨 - TamronDrizzle
【软件名称】: Afkayas.1
【操作平台】: Windows XP
【下载地址】: 自行搜索
【加壳方式】: 无有
【保护方式】: 无有
【编写语言】: Microsoft Visual Basic 5.0 / 6.0
【使用工具】: OD & ExeinfoPe
【软件介绍】: 比较好破没有暗桩
【作者申明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
【详细过程】
当注册失败时有一个弹窗 我们下一个信息框断点
BP MessageBoxA
由于是vb
BP rtcMsgBox
再次单击 后断下 F2取消断点
ctrl+F9 一次 F8一次 返回到程序的领空
在代码的上面有注册成功和注册失败的注记 ,这条代码应该就是关键跳
[Asm] 纯文本查看 复制代码 00402582 . 8945 A4 mov dword ptr ss:[ebp-0x5C],eax
00402585 . 894D BC mov dword ptr ss:[ebp-0x44],ecx ; ntdll.7C93005D
00402588 . 8945 B4 mov dword ptr ss:[ebp-0x4C],eax
0040258B . 74 58 je short Afkayas_.004025E5 <------
0040258D . 68 801B4000 push Afkayas_.00401B80 ; You Get It
00402592 . 68 9C1B4000 push Afkayas_.00401B9C ; \r\n
00402597 . FFD7 call edi ; msvbvm50.__vbaStrCat
给它nop掉,运行测试,注册成功
保存程序
接下来是算法部分
我们在这个函数的头部 下断 然后一直f8,直到用户名出现
我们截获了这一段代码
[Asm] 纯文本查看 复制代码 0040240F . 8B45 E4 mov eax,dword ptr ss:[ebp-0x1C] ; EAX 注册名
00402412 . 50 push eax ; /String = NULL
00402413 . 8B1A mov ebx,dword ptr ds:[edx] ; |
00402415 . FF15 E4404000 call dword ptr ds:[<&MSVBVM50.__vbaLenBs>; \获取注册名长度
0040241B . 8BF8 mov edi,eax ; EDI=文本长度
0040241D . 8B4D E8 mov ecx,dword ptr ss:[ebp-0x18] ; ECX 注册名
00402420 . 69FF FB7C0100 imul edi,edi,0x17CFB ; EDI=EDI*0x17cf8
00402426 . 51 push ecx ; /String = "?"
00402427 . 0F80 91020000 jo Afkayas_.004026BE ; |
0040242D . FF15 F8404000 call dword ptr ds:[<&MSVBVM50.#rtcAnsiVa>; \删除首位数据
00402433 . 0FBFD0 movsx edx,ax ; edx=ASCII(first)
00402436 . 03FA add edi,edx ; edi=edi+edx
asm上有注释,我就不再解释
其实注册码的运算还没有完成,继续向下
[Asm] 纯文本查看 复制代码 00402516 . 8B3D 00414000 mov edi,dword ptr ds:[<&MSVBVM50.__vbaSt>; msvbvm50.__vbaStrCat
0040251C . 50 push eax
0040251D . 68 701B4000 push Afkayas_.00401B70 ; AKA-
00402522 . 51 push ecx ; /String = "?"
00402523 . FFD7 call edi ; \__vbaStrCat
00402525 . 8B1D 70414000 mov ebx,dword ptr ds:[<&MSVBVM50.__vbaSt>; msvbvm50.__vbaStrMove
0040252B . 8BD0 mov edx,eax
0040252D . 8D4D E0 lea ecx,dword ptr ss:[ebp-0x20]
这段代码的意思是
注册码=“AKA-”+注册码
注册码的生成
“AKA-” + 用户名长度 * 0x17cf8 + 第一位注册名的ascii码
算法分析完毕
PS:本人菜鸟一枚 ,大神勿喷
【经验总结】
找准函数后关键跳的上方不远处就可以找到算码代码
文章出处 吾爱破解论坛 by 腾龙细雨
转载请注明作者并保持文章的完整, 谢谢!
2015年8月6日20时59分14秒
附件下载
Afkayas.1.zip
(37.5 KB, 下载次数: 2)
|