OllyDBG 1.10 OllyDBG.exe
OllyDBG SoftICE
文件->打开 (快捷键是 F3)
F2 断点 F9
F8 步过 F10
F7 步入 F8
F4 运行到位置 F7
F9 运行 F5
CTR+F9 执行到返回ret F12
ALT+F9 执行到用户代码 F11

调试选项->CPU 标签中把“显示跳转路径”及其下面的两个“如跳转未实现则显示灰色路径”、“显示跳转到选定命令的路径”

查壳工具有 PEiD 和 FI
运行
反汇编窗口中右击,出来一个菜单
查找->所有参考文本字串 /超级字串参考+ 插件会更方便
,现在出来另一个对话框,我们在这个对话框里右击,选择“查找文本”菜单项,输入“Wrong Serial, try again!”的开头单词“Wrong”(注意这里查找内容要区分大小写)来查找,找到一处:
在我们找到的字串上右击,再在出来的菜单上点击“反汇编窗口中跟随”
为了看看是否还有其他的参考,本行选择右键菜单查找参考->立即数,会出来一个对话框:

堆栈 SS:[0012F9AC]=00D44DB4, (ASCII "CCDebuger") 这条内容上左击选择一下,再点右键,在选择“数据窗口中跟随数值”,你就会在下面的数据窗口中看到你刚才输入的内容。而 EAX=00000009 指的是你输入内容的长度
在菜单 查看->断点 上点击一下,打开断点窗口(也可以通过组合键 ALT+B 或点击工具栏上那个“B”图标打开断点窗口

PEiD 检测一下,结果为 MASM32 / TASM32
反汇编窗口中右击鼠标, 查找->当前模块中的名称 (标签), CTR+N
此操作时要在 OllyDBG 中保证是在当前被调试程序的领空
CPU - 主线程, 模块 - CrackHea

GetDlgItemText 及 GetWindowText 函数上右击,在弹出菜单上选择“在每个参考上设置断点/
函数上右击,在弹出菜单上选择“查找输入函数参考”(或者按回车键)
跑到系统领空 ALT+F9 组合键
调试选项的“命令”标签中勾选“使用 RET 代替 RETN”来更改返回指令的显示方式
左键选择信息窗口中的 ESI=E6B5F2F9,再按右键,在弹出菜单上选“修改寄存器
ESI 寄存器值

点击一条,信息窗口点击右击选择数据窗口中跟随地址
调试->重新开始,或者按 CTR+F2 组合键
内存访问和内存写入断点数据窗口中左键点击一下,
再右击,转到->表达式 CTR+G 组合键
输入我们想查看内容的内存地址
硬件断点最多只能选 4 个字节。
选中部分会显示为灰色。选好以后松开鼠标左键,
在我们选中的灰色部分上右击:断点-内存写入
断点->删除内存断点
F2 设置一个断点,现在我们按 CTR+F2
重新载入程序,载入后按 F9 键运行
基本算法是这样的:
先用 GetDriveTypeA 函数获取磁盘类型参数,
再用 GetVolumeInformationA 函数获取这个 crackme 程序所在分区的卷标

消息断点及 RUN 跟踪
菜单 查看->窗口(w) 右键ClassProc
调试选项->跟踪中设置:DLL RUN
击菜单调试->打开或清除 RUN 跟踪(m) 内存映射窗口
右键 在访问上设置中数断 设好访问断点后我们按 F9 键
按 F9 键(或者按 CTR+F12 查看->RUN 跟踪
统计模块

OllyDBG 1.10的更多相关文章

  1. OllyDBG V1.10聆风听雨汉化版

    软件名称:OllyDBG V1.10聆风听雨汉化版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 3.84MB 图片预览: 软件简介: Ollydbg2. ...

  2. 【原创】OllyDBG 入门系列(一)-认识OllyDBG

     ****** http://blog.fishc.com/645.html   标 题: [原创]OllyDBG 入门系列(一)-认识OllyDBG作 者: CCDebuger时 间: 2006-0 ...

  3. OllyDBG 破解入门教程

    一.OllyDBG 的安装与配置OllyDBG  版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了.汉化版的发布版本是个 RAR 压缩包,同样只需解压到一 ...

  4. 提取Jar2Exe源代码,JavaAgent监控法

    最近遇见一个麻烦,明明知道是java写的小软件,但是打包成了exe,木得办法,之前打包的都有缓存能在TEMP文件夹找到.这次可不一样了,特此记录一下. 为此特地搜集了一些java打包成exe的软件. ...

  5. 【逆向知识】GitHub:Awesome-Hacking(黑客技能列表-逆向)

    0 初衷 GitHub这一份黑客技能列表很不错,包含了多个方向的安全.但目前我关注只有逆向工程与恶意代码,所以其他的被暂时略过. 虽然很感谢作者的辛勤付出,但并不打算复制粘贴全套转载.逐条整理是为了从 ...

  6. ODbgScript 2.01帮助文档

    -------------------------------ODbgScript original pluginhttp://github.com/odbgscript--------------- ...

  7. OllyScripts 0.92帮助文档

    -------------------------------Olly脚本插件v0.92 制作: SHaG文档汉化:ZMWorm[CCG][TT]E-Mail:TranslationTeam[at]1 ...

  8. 逆向工程初步160个crackme-------2

    有了第一个crackme的经验后,这个crackme用了半个小时就验证成功了.(思路和第一个crackme相似) 动态调试工具:ollydbg (2.10) 文件分析工具:PEID (0.95) 同样 ...

  9. RockWare RockWorks的Ollydbg调试过程及注册机(破解)思路

    最近拿到了RockWorks15的安装包,可惜没有破解,试用也只能用14天.用PEiD工具察看了一下,Delphi编写的程序,竟然没加壳.本想用OllyDBG调试进去爆破一下,不意发现注册码很简单,如 ...

随机推荐

  1. dubbo源码分析4-基于netty的dubbo协议的server

    dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分 ...

  2. c++获取系统时间(引用别人的博文)

    //方案— 优点:仅使用C标准库:缺点:只能精确到秒级#include <time.h> #include <stdio.h> int main( void ) {     t ...

  3. Groovy学习笔记(一)

    1.1 安装Groovy Groovy主页:http://www.groovy-lang.org 确保本地系统安装了Java 1.1.1 在Windows系统上安装Groovy 1.创建环境变量GRO ...

  4. HTML5 Canvas arc()函数//////////////////////(转)

    HTML5 Canvas arc()函数   实例 创建一个圆形: var c=document.getElementById("myCanvas"); var ctx=c.get ...

  5. C 语言中的指针和内存泄漏

    引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧 ...

  6. 最长公共子序列(加强版) Hdu 1503 Advanced Fruits

    Advanced Fruits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. Prism 5 + MEF中的ModuleCatalog.CreateFromXaml问题

    protected override IModuleCatalog CreateModuleCatalog() { return Microsoft.Practices.Prism.Modularit ...

  8. socket.io稳定性及事件测试

    socket.io测试报告 1.socekt.io能坚持多久 将服务器上的socekt.io代码从早上9:30分开始运行到晚上18点,每100毫秒发送一条数据,数据大概15个字符,同时开启5个连接 结 ...

  9. Entity Framework && Lambda

    Lambda表达式详细总结 C# 代码了解委托.匿名方法.Lambda 表达式和闭包本质 将使用了C# Lambda表达式的程序集反编译后,我们发现,它实际上和匿名方法没有什么不同.Lambda的输入 ...

  10. toStirng()与Object.prototype.toString.call()方法浅谈

    一.toString()是一个怎样的方法?它是能将某一个值转化为字符串的方法.然而它是如何将一个值从一种类型转化为字符串类型的呢? 通过下面几个例子,我们便能获得答案: 1.将boolean类型的值转 ...