OllyDbg 使用笔记 (九)

OllyDbg 使用笔记 (九)


参考

书:《加密与解密》

视频:小甲鱼 解密系列 视频


示例程序下载地址:http://pan.baidu.com/s/1bnmzqov

PDiD下载地址:http://tools.pediy.com/unpack/File_analysers/peid/peid.rar (win7下运行要删除plugins\xInfo.dll,否则会出现 以停止工作)


这个程序安装好会会要求注册,它的密钥是按照你电脑的MAC等唯一的标识来计算的。

我们可以用PEiD来查看这个程序的类型,可以发现这个程序使用VB写的。


图片1




VB程序破解


所有VB程序几乎都依赖于MSVBVM60.dll这个动态链接库。所以程序频繁的在用户领空跟dll领空中跳来跳去。

但是正是因为这样,VB破解可以走捷径。可以直接等对 用来比较API函数 下断点来调试破解。



关键的 用来比较的API函数:


变量比较:

__vbaVarTstEq
__vbaVarCompEq
__vbaVarCompLe
__vbaVarCompLt
__vbaVarCompGe
__vbaVarCompGt
__vbaVarCompNe

       字符串比较:
__vbaStrCmp
__vbaStrComp
__vbaStrCompVar
__vbaStrLike
__vbaStrTextComp
__vbaStrTextLike



现在安装好程序后,加载程序。


按 ctrl+N  查看输入输入出表

图片2



直接输入vbavartsteq (直接在这个窗口上输入,窗口标题栏可以显示已输入的内容),


可以看到__vbaVarTstEq,选中它,右键-->在每个参考上设置断点。可以发现设置了88个断点

图片3



回到cpu面板,先按F9,运行到断点处,在按F8单步调试。


运行到此处,可以发现005BBFD9  一串很想注册码的字符串。


005BBFB6   .^\E9 A9FEFFFF   jmp     005BBE64
005BBFBB   >  BA 1C804300   mov     edx, 0043801C                    ;  UNICODE "PC 2 Answering Machine 2.0 - Professional Edition"
005BBFC0   .  B9 B4805D00   mov     ecx, 005D80B4                    ;  ASCII "Dd0"
005BBFC5   .  8B3D 90124000 mov     edi, dword ptr [<&MSVBVM60.__vba>;  MSVBVM60.__vbaStrCopy
005BBFCB   .  FFD7          call    edi                              ;  <&MSVBVM60.__vbaStrCopy>
005BBFCD   .  BA 84804300   mov     edx, 00438084                    ;  UNICODE "2.0.8.2"
005BBFD2   .  B9 14845D00   mov     ecx, 005D8414                    ;  ASCII "靌0"
005BBFD7   .  FFD7          call    edi
005BBFD9   .  BA 98804300   mov     edx, 00438098                    ;  UNICODE "oeiu-564-oqei-97"
005BBFDE   .  B9 18845D00   mov     ecx, 005D8418
005BBFE3   .  FFD7          call    edi                              ;  MSVBVM60.__vbaStrCopy
005BBFE5   .  C705 20845D00>mov     dword ptr [5D8420], 1E
005BBFEF   .  3935 A8995D00 cmp     dword ptr [5D99A8], esi
005BBFF5   .  75 10         jnz     short 005BC007
005BBFF7   .  68 A8995D00   push    005D99A8
005BBFFC   .  68 58E54200   push    0042E558
005BC001   .  FF15 7C124000 call    dword ptr [<&MSVBVM60.__vbaNew2>>;  MSVBVM60.__vbaNew2
005BC007   >  8B3D A8995D00 mov     edi, dword ptr [5D99A8]
005BC00D   .  8B07          mov     eax, dword ptr [edi]
005BC00F   .  8D4D 98       lea     ecx, dword ptr [ebp-68]



运行程序,直接输入这个字符串,尝试正常,可以发现注册成功。








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OllyDbg是一款用于调试和分析Windows可执行文件的工具。使用它可以帮助开发人员理解程序的运行方式,以便进行错误修复和代码优化等工作。 要开始使用OllyDbg,你可以按照以下步骤进行操作: 1. 下载和安装OllyDbg:你可以从OllyDbg的主页(http://home.t—online.de/home/Ollydbg)下载最新版本的OllyDbg,并按照安装向导进行安装。 2. 启动OllyDbg:你可以通过命令行指定可执行文件,也可以从菜单中选择,或直接拖放可执行文件到OllyDbg中。另外,你还可以重新启动上一个被调试程序,或者挂接(Attach)一个正在运行的程序。OllyDbg支持即时调试,不需要安装,可以直接在软盘中运行。 3. 调试功能:一旦你打开了一个可执行文件,OllyDbg将会显示程序的汇编代码和相关的调试信息。你可以使用OllyDbg的各种功能来分析代码、设置断点、查看和修改寄存器和内存中的值,以及跟踪程序的执行流程。 4. 插件功能:如果你需要增加更多功能,你可以使用OllyDbg的插件。插件是一个DLL,可以通过OllyDbg的主页免费下载。插件可以提供额外的调试功能,例如反汇编插件、内存查看插件、脚本扩展等。 请注意,OllyDbg的插件是无法通过调试OllyDbg本身的方式来进行调试的,因为Windows系统不能在同一个应用程序中加载和运行两个可执行文件。 总之,OllyDbg是一款功能强大而灵活的调试工具,使用它可以帮助你分析和调试Windows可执行文件。你可以根据需要选择运行方式、设置断点、查看和修改内存值等。如果需要更多功能,可以考虑使用插件来扩展OllyDbg的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Ollydbg入门](https://blog.csdn.net/n3verl4nd/article/details/84443295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值