- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OllyDBG入门系统(六)—消息断点及RUN跟踪补充
OllyDBG 入门系统(六) - 消息断点及RUN跟踪补充
看完了《OllyDBG 入门系统(五)-消息断点及 RUN 跟踪》之后感觉如何?会否有如下问题:
1、 是否觉得不知道在哪下断?
2、 为什么要这样子下断?
3、 如何确定断下来后的位置就是正确的?
好,就本着这几个问题来分析一遍。
首先,先回顾下Windows的消息机制。要点:所有要处理的消息必然会由程序自己处理,不处理的消息都交由Windows处理。Windows的消息处理函数的格式,如下:
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle of window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
其中uMsg就是关键,它代表消息的类型,如:WM_COMMAND,WM_GETTEXT等。记好哦。
下面,我们来用实例讲解。
这个CrackMe是用对话框做的(你是怎么知道的?)。
1、 用OllyDbg加载,Crtl N,找到函数:USER32.DialogBoxParamA,右击-“在每个参考上设置断点”。
2、 F9,运行。看,被拦了下来,如图:
3、 其中DlgProc的内容,就是我们需要找的东东。这个地址是消息处理函数的入口点。现在来解释为什么要在窗口那才有消息断点,看图,
要下消息断点,首先得找到具有Windows消息处理函数格式的函数,然后,再根据栈的数据来判断消息,如果符合下断的消息,那么,OllyDbg就会拦下来(还会觉得不知道在哪下消息断点了吗?知道该如何下消息断点了吧?)。很明显有一点,这个消息断点的功能是有限的,比如,要拦主窗口中的菜单消息呢?所以,消息断点的功能还是有限的。如何扩展?扯远了,下面再讲。
4、 Ctrl G来到cyle.0041029,我们来到了消息处理函数了,但是,OllyDbg并未识别出这个函数是消息处理函数。所以,在cyle.0041029处,右击-“分析”-“假定参数”,如图:
弹出一个对话框,选择“WinProc(hWnd,msg,wParam,lParam)”。
点击“应用”后,如图。
5、在cyle.0041029处,右击-“断点”-“在WinProc上的消息断点”(平时是不是没见过这个菜单呀?呵呵)。
5、 在“消息”列表框中,选择你要下断的消息(Alt B,删除以前的断点,以免影响心情)。
6、 F9,运行,程序运行起来了。这时没什么事情发生,当你在里面点了一个文本框之后(点它,是想让它获得Focus(焦点),以便能够输入数据),事情就发生了。现在没办法在文本框里输入注册码,也没办法点击按钮。这是怎么回事呢?仔细看一下Stack(栈)的那个窗口,噢!原来被文本框的通知EN_SETFOUCE搞坏了!停留在EN_SETFOCUS和EN_KILLFOCUS两个消息之间了。
7、 好,现在来扩展消息断点(消息断点是否是条件断点的特殊例子?),即使用条件断点(卖弄了一下,呵呵)。
看你需求,条件和条件记录,在这里是没什么区别的,因为不需要记录的内容。
8、 按Shitf F2,输入 MSG ==WM_COMMAND [ESP C]==66(这个66是怎么来的?这个就是那个Check按钮的ID,意思就是“当收到WM_COMMAND,且是由ID为0x66发出的时候中断”),确定,F9,运行。
9、现在,输入Name和Serial之后,点”Check”按钮。
10、这次中断,位置上似乎没有变化,但是,明白了消息处理机制,应该知道这次中断的不同吧?(这次会流程会流到注册算法那哦)/. enter 0, 0 ; 解码为 WinProc
0040102D |. push ebx
0040102E |. push edi
0040102F |. push esi |. cmp [arg.2], 110 |. je short cycle.0040105E |. cmp [arg.2], 111 //111=WM_COMMAND |. je short cycle//肯定在这里跳(为什么?) |. cmp [arg.2],
您可能关注的文档
- LED灯设备授权书—水盘2829标.doc
- lesson28APartyforLiMing.doc
- Lenovo电脑台式机和一体机自带Windows8改Windows7系统方法.doc
- LENOVO心1代(彭大振)调研报告2012112.doc
- lenovo联想WIN8系统改WIN7-XP.doc
- Lib2.0环境下图书馆信息服务变革.doc
- LINE6PODxt中文说明书连接.doc
- LINGO错误编号和原因对照表.doc
- Linuxscp命令使用实例汇总.docx
- Lformat低级格式化工具使用的说明.doc
- 自发思维的语言分析-探究似曾相识经历、意外想法和非自愿自传体记忆的研究-计算机科学-自发思考-机器学习-自然语言处理.pdf
- 电压模式胜者全得电路在神经形态系统中的应用-计算机科学-机器学习-神经形态电路.pdf
- 以人为本的交互式匿名化以保护隐私的机器学习-人类引导的 K-匿名性案例-计算机科学-隐私保护-机器学习.pdf
- PhotIQA-一套带有图像质量评分的光声成像数据集-计算机科学-图像质量评估-机器学习.pdf
- MPX-JAX 的混合精度训练-计算机科学-神经网络训练-深度学习.pdf
- ACE-使用经过验证的大语言模型重构进行自动化技术债务修复-计算机科学-软件工程-大语言模型-AI助手.pdf
- 多模态对齐与交叉注意 GRU 用于细粒度视频理解-计算机科学-大型语言模型-多模态.pdf
- 零样本扩散基于的快速旁路机制图像修复-计算机科学-扩散模型-图像修复-模型加速.pdf
- 仲裁 PUF-使用混合 CMOS-斯坦福忆阻器模 型进行唯一性和可靠性分析-计算机科学-硬件安全-蒙特卡洛模拟.pdf
- 一种用于从非结构化文本中识别属性的模块化无监督框架-计算机科学-机器学习-自然语言处理.pdf
文档评论(0)