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]

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

时间: 2024-10-24 15:32:44

OllyDbg 使用笔记 (九)的相关文章

OllyDbg 使用笔记 (二)

参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 TraceMe.exe下载地址:http://pan.baidu.com/s/1c0s2twO TraceMe.exe 程序破解 程序见下图,破解目标:使我们能够验证成功. 图片1 由于输入肯定会用到获取对话框文本的API,所以在反汇编面板 按Ctrl+G搜索GetDlgItemTextA,试试看. 图片2 也可以按Ctrl+N 打开程序的导入表.查看程序导入了那些函数,选中GetDlgItemTextA,右键 选择在反汇编窗口中跟随输入

OllyDbg 使用笔记 (一)

参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 ollydbg下载地址:http://tools.pediy.com/debuggers.htm hello.exe下载地址:http://pan.baidu.com/s/1c0iYQOC 一.OllyDbg基本界面 图片1 如果按窗口切换按钮出现下面的情况,乱了,只需要双击一个窗口让它全屏就行了. 图片2 二.部分快捷键介绍 F3 : 打开目标文件 F2 : 设置断点 F7:单步步进,遇到CALL跟进 F8:单步步过,遇到CALL路过,

老男孩培训视频听课笔记九(在51cto上听的)--5.8 64bit 基础优化

定时清理clientmqueue目录垃圾文件防止占满磁盘空间: /var/spool/clientmqueue  --这个目录会自动创建很多的文件,可以用下面的命令来清理 find /var/spool/clientmqueue/ –type  f | xargs rm –fr mkdir /server/scripts –p vim del.sh: find /var/spool/clientmqueue/ –type  f | xargs rm –fr crontab -e */5 * *

APUE 学习笔记(九) 高级I/O

1. 非阻塞I/O 低速系统调用时可能会使进程永远阻塞的一类系统调用,包括以下调用: (1)某些文件类型你(网络socket套接字.终端设备.管道)暂无可使用数据,则读操作可能会使调用者永远阻塞 (2)如果数据不能立即被(1)中文件类型接受,则写操作会使调用者永远阻塞 (3)某些进程间通信函数 非阻塞I/O使我们可以调用open.read.write这样的I/O操作,并使这些操作不会永远阻塞,如果这种操作不能完成,则调用立即出错返回 对于一个给定的文件有两种方法对其指定非阻塞I/O: (1)调用

OllyDbg 使用笔记 (八)

参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 示例程序下载:http://pan.baidu.com/s/1jG5NKBs 分析 这个程序,未注册版本限制了一些功能. 尝试在register界面写入email和密钥 会弹出注册未成功的窗口.可以利用窗口中的文字作为突破口.在OD中 查找 所有参考文本字串 图片1 暴力破解 查看 未注册成功后弹出窗口中的字符串的代码: 004299AB . 57 push edi 004299AC . 50 push eax 004299AD . E8

ollydbg使用笔记(五)

OllyDbg 使用笔记 (五) 参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 pixtopainbook安装包 下载地址  http://pan.baidu.com/s/191ArG pixtopainbook 破解 pixtopainbook是一个电话簿软件,未注册版本,最多只能添加3个组,每个组最多添加4个人. 去除添加人数跟组数限制 ollydbg 加载 ,按F9运行. 如果OD暂停,在下面出现"异常 E06D7363 - 使用Shift+F7/F8/F9来忽略程序

OllyDbg 使用笔记 (四)

参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 RegisterMe程序下载地址:http://pan.baidu.com/s/1gd3l4XH 这个RegisterMe程序,运行前和运行后都会有neg窗口.破解目标,去除这个两个窗口. 用OD直接打开这个程序,我们会发现出错.也可能OD会卡死. 因为这个程序的PE文件被故意修改了. 我们先到 选项---> 调试设置 --> 事件 --> 选择系统断点. 图片1 这样用OD打开就不会卡死. 按 alt + M 来到 m

python学习笔记九——文件与目录

1.python进行文件读写的函数是open或file类 mode:r  只读 r+   读写 w  写入,先删除原文件,再重新写入,如果文件没有则创建 w+  读写,先删除原文件,再重新写入,如果文件没有则创建(可写入和输出) a  写入,在文件末尾追加新的内容,文件不存在则创建 a+  读写,在文件末尾追加新的内容,文件不存在则创建 b  打开二进制文件,可与r,w,a,+结合使用 U  支持所有的换行符号,"\r","\n","\r\n"

angular学习笔记(九)-css类和样式3

再来看一个选择li列表的例子: 点击li中的任意项,被点击的li高亮显示: <!DOCTYPE html> <html ng-app> <head> <title>6.3css类和样式</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="scri

angular学习笔记(九)-css类和样式2

在上一个例子中,元素的类名使用拼接的方法,这样,类名中就不得不带有true或false,并且不易维护,所以,angular使用ng-class属性来控制元素的类名: 我们来看一个小例子,点击error按钮,顶部提示错误框,点击warning按钮,顶部提示警告框. 错误框的类名是.err,警告框的类名是.warn: <!DOCTYPE html> <html ng-app> <head> <title>6.2css类和样式</title> <