ollydbg教学的增补篇

菜鸟的ollydbg1.08b教学的增补篇
+++++++++++++++++++++OllyDbg 的attach功能的使用++++++++++++++++++++++++++++++++++++
我们都知道winhex可以载内存中搜索字符,如果是明码比较,输入假的注册码
在他附近就可以找到真的注册码`~~~~~~~~~~~~~~~~~~~~~~~

当我们在使用trw和softice时我们可以不管程序的其他因素直接运行程序,输入注册名,假序列号,
然后进入trw/softice设置断点.返回windows,点注册,这时如果断点设置正确.
我们将中断在断点,然后~~~~~~~~~开始分析~~~~~~~~~~~~~
----------------------------------------------------
那么我们的OllyDbg能这样吗?开始我也以为不行,经过peterchen大哥一指点,又参考了看雪精华的文章
发现确实有这些功能!
不但有,而且非常强大!!!!!
大到我不知道该如何描述!!!!!!!(可怕吧!)
通过上面的和下面的应用概括一下:ollydbg就是适合windows各种平台使用的crack工具的合集!!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
说合集有点贬低ollydbg了应该是 crack工具合集++版


首先介绍一下在文件菜单下的attach(附加)

这是OllyDbg说明书上的一段关于attach的话
你可以使用 OllyDbg 的attach在正在运行的程序.
选择FILE|attach并且在列表中选择正在运行的程序
注意:不要试图attach系统的进程,那样的话会导致系统崩溃
( 说实话,一般情况下,操作系统不会让你去attach敏感的进程)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
首先我们来演示winhex的功能:
先运行Flash转换解密,然后运行ollydbg,点击文件菜单下的attach(附加)
出现一个窗口,选择Flash转换解密的进程,选attach(附加),这个时候你要等6-8秒钟,
等他完全加载后,再右键Analyse Code(分析代码),这时再点运行,回到程序
进入注册画面,随便输入名字点获得id,输入假的注册码,按“确定”,跳出错误画面。
返回ollydbg,点暂停,然后我们进入view(查看)菜单的memory(内存),出现一个窗口,
点选这个窗口右键选择,serch for-binary string(搜索2进制字符),在ascii框内输入你刚才输入的假注册码,点ok

等吧~~一会,他将在弹出个窗口找到你的假注册码,你向下找大概在00D05D64(这是我的电脑的地址)的地方
找到真的注册码,他正和ID在一块聊天呢~:-)

呵呵~~看到了吧,他比WINHEX怎么样?~~~
#####################################################################
下面演示如何找到未脱壳程序的关键

1 开始和前面一样 先运行Flash转换解密,然后运行ollydbg,点击文件菜单下的attach(附加)
出现一个窗口,选择Flash转换解密的进程,选attach(附加),这个时候你要等6-8秒钟,
等他完全加载后,再右键Analyse Code(分析代码),这时再点运行,回到程序
进入注册画面,随便输入名字点获得id,输入假的注册码,按“确定”,跳出错误画面

2.进入olldbg,按ALT+M,在memory map窗口,选中Flash转换解密的code段,右键选中dump in cpu(在cpu中转存)
4.在cpu窗口的memory(内存)窗口,search for binary string(搜索2进制字符),在ASCII处键入“注册码错误”,search后发现了


004D1314 A3 A1 D0 BB D0 BB C4 FA !谢谢您
004D131C CA B9 D3 C3 B1 BE C8 ED 使用本软
004D1324 BC FE A3 A1 0D 0D B3 CC 件!..程
004D132C D0 F2 D0 E8 D2 AA D6 D8 序需要重
004D1334 D0 C2 C6 F4 B6 AF A3 AC 新启动,
004D133C C7 EB B5 E3 BB F7 A1 B0 请点击“
004D1344 C8 B7 B6 A8 A1 B1 B0 B4 确定”按
004D134C C5 A5 A3 A1 00 00 00 00 钮!....
004D1354 D7 A2 B2 E1 C2 EB B4 ED 注册码错
004D135C CE F3 A3 AC C7 EB D6 D8 误,请重
004D1364 D0 C2 CA E4 C8 EB 新输入

5.在选中处右击,选find refrence(搜索参考),只有一个结果,双击后,在dissamble(汇编)窗口可以见到如下代码

004D11EC |. A1 107A4D00 MOV EAX,DWORD PTR DS:[4D7A10]
004D11F1 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004D11F3 |. E8 4493F7FF CALL FLASH转?0044A53C:[
004D11F8 |. A1 107A4D00 MOV EAX,DWORD PTR DS:[4D7A10]
004D11FD |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004D11FF |. E8 9492F7FF CALL FLASH转?0044A498:[
004D1204 |> 8BC3 MOV EAX,EBX
004D1206 |. E8 D51BF3FF CALL FLASH转?00402DE0
004D120B |. EB 34 JMP SHORT FLASH转?004D1241
004D120D |> 6A 00 PUSH 0 //还记得这个死亡路口吗?
004D120F |. B9 74124D00 MOV ECX,FLASH转?004D1274
004D1214 |. BA 54134D00 MOV EDX,FLASH转?004D1354c


小结:
1,首先这个软件加壳了,我们不去管他,而直接找到它的参考,继而轻松的找到关键,
是别的软件很难达到的!
2技巧总是在实践中产生.熟练的使用ollydbg能起到事半功倍的效果
我(菜鸟)写这篇短文是想起到抛砖引玉的效果~

winroot
2003,1,27

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
启动 您可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到OllyDbg中,或者重新启动上一个被调试程序,或是挂接[Attach]一个正在运行的程序。OllyDbg支持即时调试,根本不需要安装,可直接在软盘中运行! 线程 OllyDbg可以调试多线程程序。因此您可以在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。 调试DLLs 您可以利用OllyDbg调试标准动态链接库(DLLs)。OllyDbg 会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。 源码级调试 OllyDbg可以识别所有 Borland 和 Microsoft 格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。 代码高亮 OllyDbg的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规[general]、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。您可以定制个性化高亮方案。 名称 OllyDbg可以根据 Borland 和 Microsoft 格式的调试信息,显示输入/输出符号及名称。Object 扫描器可以识别库函数。其中的名称和注释您可任意添加。如果DLL中的某些函数是通过索引号输出的,则您可通过挂接输入库[import library]来恢复原来的函数名称。不仅如此,OllyDbg还能识别大量的常量符号名(如:窗口消息、错误代码、位域[bit fields]…)并能够解码为已知的函数调用。 已知函数 OllyDbg可以识别 2300 多个C 和Windows API 中的常用函数及其使用的参数。您可以添加描述信息、预定义解码。您还可以在已知函数设定 Log断点并可以对参数进行记录。 函数调用 OllyDbg可以在没有调试信息或函数过程使用非标准的开始部分[prolog]和结尾部分[epilog]的情况下,对递归调用进行回溯。 配置 有多达百余个选项用来设置OllyDbg 的外观和运行。 数据格式:OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCⅡ、UNICODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。 运行环境 OllyDbg可以以在任何采用奔腾处理器的 Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达到最佳效果。还有,OllyDbg 是极占内存的,因此如果您需要使用诸如追踪调试[Trace]之类的扩展功能话,建议您最好使用128MB以上的内存。 支持的处理器 OllyDbg 支持所有 80x86、奔腾、MMX、3DNOW!、Athlon扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值