DDR爱好者之家 Design By 杰米

@anyinthttps://www.52pojie.cn/thread-1573471-1-1.html
OllyDbg诞生于2000年,曾经是很不错的调试器,和W32dasm被誉为屠龙刀和倚天剑,它继承了softice、TRW2000的很多特性,这个咱就不细说了。
而x64dbg诞生的年代就比较靠现在了,具体多少没查出来,这些咱也不细究了。还是少说费话说重点吧:
弃用Ollydbg,转战x64dbg的10个理由:
Ctrl+N窗口对比:
弃用Ollydbg,转战x64dbg的10个理由:
Ollydbg的该窗口,你只能一个字母一个字母的键入; 这对于眼神不好的同学十分不便
哪怕你输入错了一位也不会找到
而且不支持过滤掉不想要的,键入的内容会在标题窗口上显示键入的字符
弃用Ollydbg,转战x64dbg的10个理由:
再来看看x32dbg/x64dbg的该窗口吧。
左右两栏非常的清晰,想要系统dll 就键入过滤下(同理右边也是一样道理)
而且懂正则表达式的还可以来个模糊匹配
弃用Ollydbg,转战x64dbg的10个理由:
按下Ctrl+ 上下滚轮放大 缩小 窗口功能
这个在Ollydbg中是完全不被支持的
x32dbg/x64dbg可就不一样了
虽然有不少同学看不习惯它的字体,但是通过热键,你可以解决
弃用Ollydbg,转战x64dbg的10个理由:
弃用Ollydbg,转战x64dbg的10个理由:
3A地址转换: 即VA  、RVA 、FOA(虚拟地址/相对虚拟地址/文件偏移地址)
这个对于汇编工具来说极其重要的东西,比如你用HIEW/W32dasm/IDA/2进制忍者/Ollydbg/MDebug
16进制编辑器。你第一步得整明白,谁对应谁吧?这就好比问你家住哪里?
虚拟地址? 好比说,某某小区xx地址
相对虚拟地址?好比说吾爱破解大楼对过的
文件偏移地址?中国天津塘沽区xx。。。。
这样能更好的理解了吧?
再来看看它们都是各自如何解决的?
Ollydbg默认只能Ctrl+X 得到 VA地址
其他两个地址可以通过viXX插件来得到
原生是不支持的
弃用Ollydbg,转战x64dbg的10个理由:
再来看看x32dbg/x64dbg中的吧,这是法王设计的最合理的热键了
Ctrl+X是VA, 加上SHIFT就是相对 RVA, 另一个单独记一下就全部搞定了
弃用Ollydbg,转战x64dbg的10个理由:
字符串搜索
弃用Ollydbg,转战x64dbg的10个理由:
Ollydbg中是这样的,通过Ctrl+L搜索下一条,搜索结果不能过滤掉不要的
弃用Ollydbg,转战x64dbg的10个理由:
x32dbg/x64dbg中是这样的
不但支持针对当前模块 或 所有模块 来搜索
还能对搜索结果过滤,并支持正则
弃用Ollydbg,转战x64dbg的10个理由:
接下来,再看看Ollydbg中的HIT跟踪和Run跟踪
弃用Ollydbg,转战x64dbg的10个理由:
hit跟踪就是哪里被运行过了,就是命中了
这个x32dbg/x64dbg是没有的,但是我们可以编脚本来模拟实现
Run跟踪呢?
弃用Ollydbg,转战x64dbg的10个理由:
这种模式下,Ollydbg极其容易让调试器崩溃,具体就不表演功能了
来看看x32dbg/x64dg中是啥样的吧?
弃用Ollydbg,转战x64dbg的10个理由:
来到x32dbg/x64dbg中,启动运行跟踪
并设好断点
弃用Ollydbg,转战x64dbg的10个理由:
它将存储到.trace32 / .trace64 中
比如我们要把Fscapture点关于时断下
你不是得这么想?
弃用Ollydbg,转战x64dbg的10个理由:
先找到注册成功  ,失败的字符串?
弃用Ollydbg,转战x64dbg的10个理由:
这里会出现一托托 ,或 很长的字符串 ;有经验的同学不用想,肯定就知道与注册算法有关
顶上埋个陷井吧,同理下面也埋上一个
弃用Ollydbg,转战x64dbg的10个理由:
然后顺势运行就会断下
Ctrl+F8经过了比较长的运行
就会来到下一个字符串的调用处
006D3DED  | B8 0C436D00        | mov eax,fscapture.6D430C        | 6D430C:"ACjizQuiyoyJfUh4/b6b"
弃用Ollydbg,转战x64dbg的10个理由:
然后呢,就会读取到你的注册时用到的注册名,注册码
公司网址。。。
最后是授权给哪一种类型的人士了。
弃用Ollydbg,转战x64dbg的10个理由:
然后呢,这个跟踪窗口就是一览无余的展示调用的地址
堆栈前后寄存器,相关信息
弃用Ollydbg,转战x64dbg的10个理由:
弃用Ollydbg,转战x64dbg的10个理由:
而且你还能把它导出为CSV文件,再用Excel编辑。。。方便 吧?这OD能比吗?
Ollydbg的教程太老了,想想也有22年的历史了。
@anyint
接下来,再顺便回答下这位小道友,关于字符串搜索不到的经典问题:
首先你要明白一个道理?
为什么会有字符串 这种东西的存在?
你得明白问题的本源才能更好的下手。
要想明白这个问题就必须懂得一些编程和开发工具的内幕。
比如VS2013。。。。其他版本;或是其他的开发工具编译输出的文件也是类同的道理
程序发布时,有两种版本 调试版 ,发布版。
调试版 呢,带有很多调试符号,输出信息给编程工具(机器)或 开发者看的
便于是开发过程中发现程序的bug,帮助解决问题准备的。
发布版呢? 为了让打包后的文件更小?  更优化,所以呢,编译过程中就会开启某些优化的选项
比如VS2013 就会存在 *.pdb文件
这也正是IDA你在打开文件时,弹出的第二个对话框,找你要相关的文件。没有源码,你哪来的此文件?
就像IDA这种东西呢,它会像x32dbg/x64dbg/Windbg一样去尝试到微软网站上下载相关的文件 ,以便加载识别更多的符号信息给调试人员查看。
它会正确的识别出一些函数的名称,猜测一些符号的名称(既然是猜的,当然是有对有错了)所以就需要人工的干预和修正才能让某些函数或符号
给一个正常的人来看,当然识别如果不正确的话,你导出的地图文件再给x32dbg/x64dbg来加载也是无济于事的。
另外呢?这些调试信息,字符串,还跟编程时用到的程序语言、存储结构有关。
第一,它得真的有信息你才能看到,不是吗?
第二,信息得加载了你才能看到。 比如 2022年1月10号8点35分,868路从你家门口经过你再去乘坐,当然才能坐到该辆车啊。
所以时机问题很重要,有些存在于某些dll文件中,程序运行时,并未加载了这些dll,你就搜索,又岂能搜索到呢?
第三,到底是真有,还是真没有?
关于这个问题,很多人都搞不明白。
先说,确实是搜索不到,但是你在屏幕上的的确确是真的好像是看到了。
这就有可能有以下几种可能
  • 字符串是加密处理过的:譬如RichViewEdit控件上面的那个网址,顺序是打乱的网址;程序是加壳的
  • 以一种你不知道不理解不明白的形式保存在某个文件里: 比如保存在*.xml语言文件里,保存在网页中,保存于图片中。。。等等
在调用的时候呢?都是间接调用来的,比如LoadString这个函数。。。当然还有太多种的可能了
请问眼睛看到的东西,就一定真实存在吗?所以,得有变通的相对的看世界。
  • 编码方式:买过《加密与解密第四版》的都知道,书中说到常见编码方式有三种ASCII , Unicode, UTF-8三种
而实际场合,又何止这几种呢? 比如今天某人发表的那个VB贴,GB编码,方式选择不对,照样搜索不到,也是这个道理
  • 前面说的搜索时机问题

所以,综上所述,搜索字符串是一种不靠谱的方法。
比如,你想想你回家开防盗门? 插入key=》拨动=》成功则进门,不成功呢则回不了家了。
编程也是一样的道理,编写一个注册版的程序,没有key作为主要线索,你怎么前后建立纽带联系?
Windows下事件驱动机制,这点很重要,所以函数的调用也是非常关键的一环。
好了,跑题了,回归正题吧。
弃用Ollydbg,转战x64dbg的10个理由:
再说一下断点窗口
弃用Ollydbg,转战x64dbg的10个理由:
该窗口OD只能显示F2断点列表
弃用Ollydbg,转战x64dbg的10个理由:
而x32dbg/x64dbg你可以看到F2 和 硬件断点两种,很直观
而OD通过插件显示4个硬件断点
弃用Ollydbg,转战x64dbg的10个理由:
关于函数的 显示参数
这点OD设计的比较理想,能更好的查看程序的参数
而x32dbg/x64dbg 你只能用 xAnalyzer解决,目前并不理想,凑合看吧。
弃用Ollydbg,转战x64dbg的10个理由:
将程序转换成源代码:
弃用Ollydbg,转战x64dbg的10个理由:
弃用Ollydbg,转战x64dbg的10个理由:
用于MT管理器 和 IDA的对此功能不陌生吧?  有时转换一下,对于理解程序的返回值,修改成啥样是相当关键的。
这点OD貌似没有
弃用Ollydbg,转战x64dbg的10个理由:
句柄窗口
弃用Ollydbg,转战x64dbg的10个理由:
这里比OD设计的更细腻和合理
弃用Ollydbg,转战x64dbg的10个理由:
步进步入直到满足条件
弃用Ollydbg,转战x64dbg的10个理由:
这是x32dbg/x64dbg中相当牛逼和好用的功能
其实这个窗口它集成了多个内置的变量、函数等的综合调用
与此类似的还有条件断点设置窗口(Shift+F2)
弃用Ollydbg,转战x64dbg的10个理由:
x32dbg/x64dbg中内置了 大量的变量、函数
可以非常方便的组合成更多复合的表达式
编写出更方便的脚本,帮助调试
弃用Ollydbg,转战x64dbg的10个理由:
x32dbg/x64dbg支持python脚本
这种特性被当下多种调试器支持
OD呢,也有 https://www.52pojie.cn/thread-296289-1-1.html,貌似无人问津。
弃用Ollydbg,转战x64dbg的10个理由:
x32dbg/x64dbg中的多功能引用窗口
弃用Ollydbg,转战x64dbg的10个理由:
该窗口中你能访问很多地方
弃用Ollydbg,转战x64dbg的10个理由:
新版本中流程图与CPU的融合改进:
弃用Ollydbg,转战x64dbg的10个理由:
Alt+C
  G
弃用Ollydbg,转战x64dbg的10个理由:
最后一点x64dbg有源代码,我们可以下载再编译加入新功能:
譬如:
弃用Ollydbg,转战x64dbg的10个理由:
我们在可以直接修改源代码,实现按下F5键
自动注释输出 【足迹1 足迹2 足迹3。。。】
弃用Ollydbg,转战x64dbg的10个理由:
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?