关于OD 插件开发的相关api请到网上查阅,这里只给出一个简单基础的例子。
1、新建一个dll工程。
2、创建一个对话框,如图
3、资源文件头如下:
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by odplugin1.rc
//
#define IDD_TEST ...
分类:
其他好文 时间:
2014-09-09 13:15:13
阅读次数:
360
OllyDbg 使用笔记 (十八)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
这次这个程序跟原来的程序不一样,它会对自身的代码进行加密解密。
程序运行前有一个nag窗口,破解目标去除这个nag窗口。
图片1
OD加载这个程序,搜索nag窗口的文字。可以找到:
图片2
但是在此处下断点后,重新运行程序,发现程序没有在下断点的地方停下来。分析可以知道,这个程序有些狡诈,我们搜到的那个貌似产生nag窗口的代码可能是用来骗我们的。真正的代码可能被加密了...
分类:
数据库 时间:
2014-09-09 13:09:18
阅读次数:
240
OllyDbg 使用笔记 (十七)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
破解这个程序的注册机(keygen)
这个程序主界面就是两个输入框,跟check,about按钮。
可以从两个输入栏入手,用OD加载程序,右键-->查找-->所以摸快间的调用,搜索跟输入框的API,可以搜索GetDlgItemTextA...
分类:
数据库 时间:
2014-09-06 23:51:04
阅读次数:
245
OllyDbg 使用笔记 (十六)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
此程序运行进行后有一个nag窗口,可以从这个nag窗口人手,用Resource Hacker这个软件查找这个nag的hInstance
可以知道这个nag窗口的hInstance为100(十进制),把程序加载到OD,搜索push 0x64
再所有push 0x64上下断点。运行程序,找到是产生nag窗口的那个call。删除其它断点。观察这个call 的前面的代码,可以发 je ...
分类:
数据库 时间:
2014-09-06 18:45:03
阅读次数:
398
OllyDbg 使用笔记 (十五)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
通过对话框的hinstance 破解
win32中对话框分模态对话框与非模态对话框,
模态对话框用
int DialogBoxParam(HINSTANCE hInstance,LPCTSTR IpTemplateName,HWND hWndParent, DLGPROC IPDialogFunc,LPARAM dwlnitParam);来创建。
非模态对话框用
...
分类:
数据库 时间:
2014-09-05 11:21:41
阅读次数:
322
OllyDbg 使用笔记 (十四)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
此程序运行前会有一个nag窗口,运行结束后也有一个nag窗口。破解目的要去除这两个nag窗口。
用OD加载这个程序,按F9运行,当第一个nag窗口出现时,按下暂停。查看 堆栈调用...
分类:
数据库 时间:
2014-09-04 22:24:40
阅读次数:
443
OllyDbg 使用笔记 (十三)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
方法一:内嵌补丁
加载程序,按F9运行,点击Enter Reg.Code 输入name,key等,先不要按OK ,到OD中 按Ctrl+N打开输入输出表,搜索KillTimer,设置断点。再点击注册窗口的OK,我们可以看见:
(也可以通搜索注册失败时弹出窗口中的“The registration code seems to be not valid” 来找到下面代码)...
分类:
数据库 时间:
2014-09-03 16:52:17
阅读次数:
356
OllyDbg 使用笔记 (十二)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
安装好程序后,打开程序可以在About中看到注册界面。可以先从输入的API入手试试。
右键-->查找-->所有模块间的调用,搜索GetWindowTextA (直接输入这些字母即可搜索),选中找到的的调用,右键-->“在每个调用到GetWindowTextA设置断点”。 我们可以查看OD设置了3个断点。(我们也可以按Ctrl+N查看输入输出表搜索GetWindowTextA设置断点)。
...
分类:
数据库 时间:
2014-09-02 00:20:33
阅读次数:
316
OllyDbg 使用笔记 (十一)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
此程序可以从注册时未输入last name 产生的 提示信息入手。
查找所有参考文本字串,搜索“Enter a Last”,可以看到:
观察前后的字符串,可以发现这堆字符串的最底下,ASCII "Registration Key accepted!" 与ASCII "Registration Key Failed!" 很关键
点击ASCII "Registratio...
分类:
数据库 时间:
2014-08-28 14:51:49
阅读次数:
321
一些标志寄存器
O标志(溢出标志)高位溢出
反映有符号数加减运算所得结果是否溢出。当指令的结果超出了它可能存取的最大值,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
A标志(辅助进位标志)
P标志(奇偶标志)
当指令结果的二进制格式含有偶数个1时,被设置。
Z标志(零标志)
当运算产生的结果为0时被设置。
S标...
分类:
数据库 时间:
2014-08-27 18:48:48
阅读次数:
400