福建省建设监理公司网站,沈阳网站的优化,软件开发者大会,网站 视觉冲击本文通过吾爱破解论坛上提供的OllyDbg版本为例#xff0c;讲解该软件的使用方法 F2对鼠标所处的位置打下断点#xff0c;一般表现为鼠标所属地址位置背景变红F3加载一个可执行程序#xff0c;进行调试分析#xff0c;表现为弹出打开文件框F4执行程序到光标处F5缩小还原当前…本文通过吾爱破解论坛上提供的OllyDbg版本为例讲解该软件的使用方法 F2对鼠标所处的位置打下断点一般表现为鼠标所属地址位置背景变红F3加载一个可执行程序进行调试分析表现为弹出打开文件框F4执行程序到光标处F5缩小还原当前窗口表现为所有打开的窗口都进行缩小F7单步步入进入函数实现内进步到CALL地址处F8单步步过越过函数实现F9直接运行程序遇到断点处暂停CtrlF2重新运行程序到起始处用于重新调试程序CtrlF9执行到函数返回处AltF9执行到用户代码处用于快速跳出系统函数不好用CtrlG输入十六进制地址在反汇编或数据窗口中快速定位到该地址处修改数据
找到要修改数据的地址所对应的HEX数据双击该数据弹出对应的编辑数据对话框去掉对保持大小的勾选可向后修改数据。由于C\C中字符串以00结尾需要将字符串最末尾的数据修改为00。选择十六进制编码文本框在最末尾处插入00。单击“确定”按钮。 字串参考
顾名思义就是在程序中搜索特定的字符串或者编码对于定位操作有很大的作用
一般操作是
鼠标右键-search for(查找)-all referenced text string(所有参考文本字串)出现以下界面 可以同过右键点击-查找查找字符串也可以双击直接跳转到目标位置
为了看看是否还有其他的参考可以通过右键选择查找参考find reference to-立即数: OllyDbg 显示程序的某些部分时是 不正确的错误的将可执行代码解释为数据.这种情况你可以在反汇编窗口中右击选择 Analysis(分析) - Remove analysis from module从模块中删除分析 手动删除分析结果高亮显示 jumps 和 calls 你使用它可能会更为方便但我个人不 喜欢这会有不 同的体验右键点击选择 选项-界面选项-代码高亮 L 图标或 View- Log显示日志窗口 通过配置可以显示 OllyDbg 启动时保存在日志窗口 的不同类型信息也涉及条件断点的信息。如果需要将日志进行导出则右键-记录到文件E 按钮 View -Executables 显示程序 运行使用的模块exe,dll,ocx 和 其它。 M 按钮或 View-Memory 显示我们的程 序映射到内存的信息一个内存块可能 被分为几个部 分 右键点击可以搜索不同种类的字符串 可以在访问上设置中断 T 按钮或 View-Threads 显示程序的线程窗口W 按钮或 View- Windows 显示程序窗口H 按钮或 View- Handles句柄窗口 C 按钮或 View-CPU允许我们返回到 O llyDbg 的主窗口CPU 窗口。P按钮或 View-Patches如果程序经过 了修改这里显示修改的信息现在我们的程序还没 有被修改过所以为空白。 K 按钮或 View-Call stack 显示调用堆 栈的窗口信息可以尝试反向跟踪函数的 调用顺序。 B 按钮或 View-Breakpoints 显示程序 普通断点的列表窗口这里不显示硬件 断点和内存断点。 R 按钮或 View-Reference 参考窗口 显示我们在 OllyDbg 中搜索的结果。 “...”按钮或 View-Run trace 显示 RUN TRACERUN 跟踪)命令的结果。 寄存器 显示有 EAXECX,EDX,EBX ESP EBP,ESI,EDI 和 EIP 等 它们都被称为 32 位寄存器。 在 OllyDbg 中它们的内容以十六进制 显示。例如EAX 的最小值为 00000000 最大值为 FFFFFFFF用二进制表示将 是 11111111111111111111111111111111 。 ESP 指向堆栈最顶端的地址我们看到寄存器显示了在我们的堆栈最上 方的值打个比方它就是一堆信件最上 方的那一 封。 EIP – 另一个非常重要的寄存器它指 向当前将要执行的指令如果你按下 F7那么将执行第一条指令然后切到第二条将执行的指令。 同样我们可以对寄存器的值进行修改选中对应的寄存器-修改 即可 如果你要用到 EAX 寄存器的一部分AX 是 EAX 的一部分是 16 位寄存器我们在 CommandBar 中 进行输入也可以看到。 AX问号也可用于查询寄存器的值 OllyDbg 可以更改寄存 器的值。我们在 EAX 上进行的一切操作同样适用于 其它寄存器检查寄存器 看哪一个是你想要更改的然后右键点击 它选择 Modify。但 EIP 是唯一一个例外 的它指向下一条将要执行的指令。 要改变头的值需要如下操作。 EIP 指向将要执行的指令只需简单的在 反汇编窗口中选择新的指令起始点一旦选择例如 40101A在其上点击鼠标右键选择 New origin here汉化版翻译为处为新的 EIPEIP 就会改变为 40101A这样程序就将会从这条指令执行。 在 OllyDbg 寄存器信息的下方显示的就是标志寄存器我们看到这里的标志分为 CPAZ STD 和 O。 我们还看到它们只能是两个数字值0 和 1。某一具体指 令的执行可以改变它们的含义。 我们一起来看看这些标志 1 O 标志溢出标志溢出标志在当操作改变了符号位返回错误值时被设置 该标志的目的当 指令的结果超出了它可能存取的最大值 将被设置 2 A 标志辅助进位标志 完成操作后用其它的某种形式对其进行记录。 3 P 标志奇偶标志 如果指令的结果用二进制表示该二进 制数中的的 1 的总个数为偶数时P 标志被设置 4 Z 标志零标志 这是在 Cracking 过程中最著名最有用的 一个标志。当运算产生的结果为 0 时被设置。 5 S 标志符号标志这个标志在运算结果为负时设置为 1。 6 C 标志进位标志无符号运算的结果在超过最大数值时 设置可能是寄存器的值 未完待续