菜鸟的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