![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
加密与解密
billvsme
好好学习,天天向上嘿嘿
展开
-
OllyDbg 使用笔记 (四)
OllyDbg 使用笔记 (四)参考书:《加密与解密》视频:小甲鱼 解密系列 视频这个RegisterMe程序,运行前和运行后都会有neg窗口。破解目标,去除这个两个窗口。用OD直接打开这个程序,我们会发现出错。也可能OD会卡死。因为这个程序的PE文件被故意修改了。我们先到 选项---> 调试设置 --> 事件 --> 选择系统断点。图片1这样用OD打开就不会卡死。按 alt + M 来到 memory界面,你可以看到“PE文件头”。注意是地址00开头的,如果是7x原创 2014-08-01 23:23:02 · 2207 阅读 · 0 评论 -
OllyDbg 使用笔记 (十九)
OllyDbg 使用笔记 (十九)参考书:《加密与解密》视频:小甲鱼 解密系列 视频反调试 先看看这四个程序。 它们自己运行时都没有问题,都显示被注册信息 “You really did it! Congratz it",但是一到OD中运行就会出现未注册或者报错。 这四个程序都对OD进行了反调试。 它们都用了IsDebuggerPresent这个API函数来判断是否程序被调试器调用。 可以先看看ReverseMe.A程序,正常运行时会出现“Y原创 2014-09-09 22:48:34 · 1632 阅读 · 0 评论 -
OllyDbg 使用笔记 (十)
OllyDbg 使用笔记 (十)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这个程序可以从标题栏的“ unregistered”入手,查找所有参考文本字串,搜索 “unregistered” 可以找到这段代码:可以发现004046E0~0040470C 是一段函数。我们可以发现je跳转比较关键,在这里可以先尝试让je不跳转。但是这样只能使标题中不会出现(unregistered),被屏蔽的功能还是不能使用。直接改je跳转不行,我们可以看看引起je跳不跳转原创 2014-08-27 07:36:04 · 3083 阅读 · 0 评论 -
OllyDbg 使用笔记 (九)
OllyDbg 使用笔记 (九)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这个程序安装好会会要求注册,它的密钥是按照你电脑的MAC等唯一的标识来计算的。 我们可以用PEiD来查看这个程序的类型,可以发现这个程序使用VB写的。VB程序破解 所有VB程序几乎都依赖于MSVBVM60.dll这个动态链接库。所以程序频繁的在用户领空跟dll领空中跳来跳去。 但是正是因为这样,VB破解可以走捷径。可以直接等对 用来比较API函数 下断点来调试破解。原创 2014-08-26 09:55:03 · 1495 阅读 · 0 评论 -
OllyDbg 使用笔记 (十一)
OllyDbg 使用笔记 (十一)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序可以从注册时未输入last name 产生的 提示信息入手。 查找所有参考文本字串,搜索“Enter a Last”,可以看到: 观察前后的字符串,可以发现这堆字符串的最底下,ASCII "Registration Key accepted!" 与ASCII "Registration Key Failed!" 很关键 点击ASCII "Registratio原创 2014-08-28 14:29:11 · 1049 阅读 · 0 评论 -
OllyDbg 使用笔记 (十二)
OllyDbg 使用笔记 (十二)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 安装好程序后,打开程序可以在About中看到注册界面。可以先从输入的API入手试试。 右键-->查找-->所有模块间的调用,搜索GetWindowTextA (直接输入这些字母即可搜索),选中找到的的调用,右键-->“在每个调用到GetWindowTextA设置断点”。 我们可以查看OD设置了3个断点。(我们也可以按Ctrl+N查看输入输出表搜索GetWindowTextA设置断点)。原创 2014-09-02 00:06:39 · 1648 阅读 · 0 评论 -
OllyDbg 使用笔记 (十三)
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:08:27 · 1887 阅读 · 0 评论 -
PE文件结构(三) 输入表
PE文件结构(三)参考书:《加密与解密》视频:小甲鱼 解密系列 视频输入表 输入函数,表示被程序调用但是它的代码不在程序代码中的,而在dll中的函数。对于这些函数,磁盘上的可执行文件只是保留相关的函数信息,如函数名,dll文件名等。在程序运行前,程序是没有保存这些函数在内存中的地址。当程序运行起来时,windows加载器会把相关的dll装入内存,并且将输入函数的指令与函数真在内存中正的地址联系起来。输入表(导入表)就是用来保存这些函数的信息的。 在 IMAGE_OPT原创 2014-10-03 11:52:39 · 4417 阅读 · 1 评论 -
PE文件结构(一) 基本结构
PE文件结构(一)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 exe,dll都是PE(Portable Execute)文件结构。PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。先看2张图,来大概了解一下PE文件结构。PE文件的框架结构 通过这张图(开始在下面),我们可以知道PE文件的大概结构,PE文件是由 DOS头,PE文件头,块表,块,调试信息 这些部分组成的。这些结构的定义在 winnt.h 中的 “Image原创 2014-09-18 23:52:56 · 4280 阅读 · 2 评论 -
PE文件结构(四) 输出表
PE文件结构(四)参考书:《加密与解密》视频:小甲鱼 解密系列 视频输出表 一般来说输出表存在于dll中。输出表提供了 文件中函数的名字跟这些函数的地址, PE装载器通过输出表来修改IAT。 IMAGE_OPTIONAL_HEADER中的 DataDirectory[0] 提供了输出表的RVA。输出表是以一个IMAGE_EXPORT_DIRECTORY结构 开始的。IMAGE_EXPORT_DIRECTORY结构:typedef struct _IMAGE_EXP原创 2014-10-06 00:48:50 · 2387 阅读 · 0 评论 -
PE文件结构(二) 区块,文件偏移与RVA转换
PE文件结构(二)参考书:《加密与解密》视频:小甲鱼 解密系列 视频区块 在区块表 后面的就是一个一个区块,每个区块占用对齐值的整数倍,一般的文件都有代码块 跟 数据块( 它们的名字一般为.text 跟 .data 但这是可以修改的)。每个区块的数据具有相同的属性。编译器先在obj中生成不同的区块, 链接器再按照一定的规则合并不同obj跟库中的快。例如每个obj中肯定有.text 块, 连接器就会把它们合并成一个单一的.text 块;再如,如果两个区块具有相同的的属性就有可能被合原创 2014-10-02 22:31:31 · 3758 阅读 · 0 评论 -
OllyDbg 使用笔记 (六)
OllyDbg 使用笔记 (六)参考书:《加密与解密》视频:小甲鱼 解密系列 视频去除NAG以及运行次数限制方法1: 去除NAG窗口的方法是:F8运行程序,碰到出现NAG的CALL就下断点,重新运行按F7进入此CALL,直到找到用户领空“真正“CALL出NAG窗口的CALL。观察此CALL前后的代码。 按照前面说的,找到这个CALL在 00489912 可以发现这个CALL返回eax=1,而且下面的一句是判断cmp是否是1,是1就正常运行。所以这个CALL的原创 2014-08-11 23:06:45 · 1486 阅读 · 0 评论 -
OllyDbg 使用笔记 (十八)
OllyDbg 使用笔记 (十八)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这次这个程序跟原来的程序不一样,它会对自身的代码进行加密解密。 程序运行前有一个nag窗口,破解目标去除这个nag窗口。图片1 OD加载这个程序,搜索nag窗口的文字。可以找到:图片2 但是在此处下断点后,重新运行程序,发现程序没有在下断点的地方停下来。分析可以知道,这个程序有些狡诈,我们搜到的那个貌似产生nag窗口的代码可能是用来骗我们的。真正的代码可能被加密了原创 2014-09-08 19:00:14 · 1410 阅读 · 0 评论 -
OllyDbg 使用笔记 (三)
OllyDbg 使用笔记 (三)参考书:《加密与解密》视频:小甲鱼 解密系列 视频加载,观察注解,我们可以发现几个关键的地方0040105C . 6A 00 push 0 ; /hTemplateFile = NULL0040105E . 68 6F214000 push 0040216F ; |Attributes = READONLY原创 2014-08-01 15:27:41 · 2312 阅读 · 0 评论 -
OllyDbg 使用笔记 (二)
OllyDbg 使用笔记 (二)参考书:《加密与解密》视频:小甲鱼 解密系列 视频TraceMe.exe 程序破解程序见下图,破解目标:使我们能够验证成功。图片1由于输入肯定会用到获取对话框文本的API,所以在反汇编面板 按Ctrl+G搜索GetDlgItemTextA,试试看。图片2也可以按Ctrl+N 打开程序的导入表。查看程序导入了那些函数,选中GetDlgItemTextA,右键 选择在反汇编窗口中跟随输入函数。图片3原创 2014-07-31 22:51:40 · 2587 阅读 · 1 评论 -
OllyDbg 使用笔记 (一)
OllyDbg 使用笔记 (一)参考书:《加密与解密》;视频:小甲鱼 解密系列 视频;入门教程(一)主要简单介绍OllDbg的界面,快捷键以及简单的使用原创 2014-07-30 21:56:52 · 8058 阅读 · 1 评论 -
OllyDbg 使用笔记 (十四)
OllyDbg 使用笔记 (十四)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序运行前会有一个nag窗口,运行结束后也有一个nag窗口。破解目的要去除这两个nag窗口。 用OD加载这个程序,按F9运行,当第一个nag窗口出现时,按下暂停。查看 堆栈调用原创 2014-09-04 21:02:26 · 2458 阅读 · 0 评论 -
OllyDbg 使用笔记 (十五)
OllyDbg 使用笔记 (十五)参考书:《加密与解密》视频:小甲鱼 解密系列 视频通过对话框的hinstance 破解 win32中对话框分模态对话框与非模态对话框, 模态对话框用 int DialogBoxParam(HINSTANCE hInstance,LPCTSTR IpTemplateName,HWND hWndParent, DLGPROC IPDialogFunc,LPARAM dwlnitParam);来创建。 非模态对话框用原创 2014-09-05 11:19:51 · 1228 阅读 · 0 评论 -
OllyDbg 使用笔记 (十七)
OllyDbg 使用笔记 (十七)参考书:《加密与解密》视频:小甲鱼 解密系列 视频破解这个程序的注册机(keygen) 这个程序主界面就是两个输入框,跟check,about按钮。 可以从两个输入栏入手,用OD加载程序,右键-->查找-->所以摸快间的调用,搜索跟输入框的API,可以搜索GetDlgItemTextA原创 2014-09-06 23:23:09 · 1441 阅读 · 0 评论 -
OllyDbg 使用笔记 (十六)
OllyDbg 使用笔记 (十六)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序运行进行后有一个nag窗口,可以从这个nag窗口人手,用Resource Hacker这个软件查找这个nag的hInstance 可以知道这个nag窗口的hInstance为100(十进制),把程序加载到OD,搜索push 0x64 再所有push 0x64上下断点。运行程序,找到是产生nag窗口的那个call。删除其它断点。观察这个call 的前面的代码,可以发 je原创 2014-09-06 17:50:29 · 1385 阅读 · 0 评论 -
OllyDbg 使用笔记 (八)
OllyDbg 使用笔记 (八)参考书:《加密与解密》视频:小甲鱼 解密系列 视频分析 这个程序,未注册版本限制了一些功能。 尝试在register界面写入email和密钥 会弹出注册未成功的窗口。可以利用窗口中的文字作为突破口。在OD中 查找 所有参考文本字串图片1暴力破解 查看 未注册成功后弹出窗口中的字符串的代码:原创 2014-08-21 23:24:12 · 1493 阅读 · 0 评论 -
OllyDbg 使用笔记 (五)
OllyDbg 使用笔记 (五)参考书:《加密与解密》视频:小甲鱼 解密系列 视频pixtopainbook安装包 下载地址 http://pan.baidu.com/s/191ArGpixtopainbook 破解去除添加人数跟组数限制 ollydbg 加载 ,按F9运行。 如果OD暂停,在下面出现“异常 E06D7363 - 使用Shift+F7/F8/F9来忽略程序异常” , 就到 选项-->调试设置-->选择异常-->在同时忽略以下指定的异常或原创 2014-08-10 23:00:17 · 1974 阅读 · 1 评论 -
OllyDbg 使用笔记 (七)
OllyDbg 使用笔记 (七)参考书:《加密与解密》视频:小甲鱼 解密系列 视频暴力破解 观察这个程序。可以从程序标题的<unregistered 个跟 About 中的 <Unregistered Version>入手 用OD打开程序,右键-->查找-->所有参考文本字串图片1 在打开的界面中,将滚动条移到追上面(因为是从光标处开始搜索的),右键查找文本,先搜索<unregistered原创 2014-08-12 02:31:02 · 1562 阅读 · 0 评论 -
PE文件结构(五)基址重定位
参考书:《加密与解密》视频:小甲鱼 解密系列 视频基址重定位 链接器生成一个PE文件时,它会假设程序被装入时使用的默认ImageBase基地址(VC默认exe基地址00400000h,dll基地址10000000h),并且会把代码中所有指令中用到的地址都使用默认的基地址(例如 程序代码中 push 10001000,就是把10000000h当做了基地址,把push 10001000写入到文件中)。如果一个exe程序中一个dll装载时的地址与其它dll地址发生冲突(因为windo原创 2014-10-07 01:55:46 · 6694 阅读 · 0 评论