现在位置: 首页 > 软件调试
Crash都是发生在某一函数中, 而95%的crash都是由下面两种情况中的一种导致的: 发生crash的函数获得了错误的参数. 发生crash的函数使用了损坏了的内部数据. 代码的执行过程是对数据进行变化的过程. 对同一段代码, 在相同环境下, 如果使用的数据都相同, 那么执行的结果肯定是唯一的. 如果函数发生崩溃, 那么肯定是使用到的数据跟理想情况有差别. 函数使用的数据来源: 一是函数传入的参数, 二是函数体引用到的成员变量或全局变...
阅读全文
如果有出错程序的dump, 哪怕dump不是在合适的时机获取的, 也可以分析出有用的信息. 通过vertarget查看系统版本和系统运行了多长时间. 通过!peb查看环境变量的情况. 由于很多第三方软件都习惯把自身路径添加到环境变量中, 所以这里很多时候可以看出一些已经安装的软件. 同时还能看到当前进程所加载的DLL和对应路径. 检查DLL和对应路径时, 可以重点检查如下的一些项目: 有没有防毒程序的DLL加载. 有没有类似...
阅读全文
2013-10-30 22:13 工业·编程 ⁄ 共 7975字 暂无评论
1、 !address eax查看对应内存页的属性 2、 vertarget 显示当前进程的大致信息 3、!peb 显示process Environment Block 4、 lmvm 可以查看任意一个dll的详细信息 例如:0:026 lmvm msvcrt (deferred)表示察看msvcrt.dll的信息,但是没有加载 symbol可以通过.reload命令来加载 5、.reload /!sym 加载符号文件 6、 lmf 列出当前进程中加载的所有dll文件和对应的路径 0:018> lmf 7、 r 命令显示和修改寄存器上的值 r命令显示和...
阅读全文
2013-09-19 19:00 工业·编程 ⁄ 共 36728字 暂无评论
1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe、ntsd.exe、kd.exe和Windbg.exe。其中cdb.exe和ntsd.exe只能调试用户程序,Kd.exe主要用于内核调试,有时候也用于用户态调试,上述三者的一个共同特点是,都只有控制台界面,以命令行形式工作。 Windbg.exe在用户态、内核态下都能够发挥调试功能,尤其重要的是,它不再是命令行格式而是采用了可视化的用户界面。所以绝大部...
阅读全文
    找了几十个不同语言编写的 crackme,发现只用消息断点的话有很多并不能真正到达我们要找的关键位置,想想还是把消息断点和 RUN 跟踪结合在一起讲,更有效一点。关于消息断点的更多内容大家可以参考 jingulong 兄的那篇《几种典型程序Button处理代码的定位》的文章,堪称经典之作。今天仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 cycle 的 crackme。     按照惯例,我们先运行一下这...
阅读全文
    还记得上一篇《OllyDBG入门系列(三):函数参考》中的内容吗?在那篇文章中我们分析后发现一个 ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个 ESI 值的计算部分。      今天我们的任务就是使用 OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个 crackme,附件我就不再上传了,用上篇中的附件就可以了。...
阅读全文
    现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。 相关阅读 ----OllyDBG入门系列(二):字串参考 老规矩,先运行一下这个程序看看: 呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是 Shit 啊,呵呵),在下拉菜单中选“Try It”,会来到如下界面: ...
阅读全文
上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程:拿到一个软件先别接着马上用 OllyDBG 调试,先...
阅读全文
一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助: 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以...
阅读全文
2013-09-16 23:11 工业·编程 ⁄ 共 2955字 暂无评论
文章目录 用户调试环境 内核调试环境 使用Windbg调试目标对象的时候,用户发现到它的一个缺陷,就是不能自动识别目标设备的机器名。实际上Windbg总是标出了Machine Name的关键字,但却从来都没有显示。可以认为Windbg在这个地方有点小缺陷。见下面的例子: 0:000> vertarget Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free x64 Product: WinNt, suite:...
阅读全文