惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
Intezer
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cybersecurity and Infrastructure Security Agency CISA
N
News | PayPal Newsroom
T
Tenable Blog
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
P
Privacy International News Feed
IT之家
IT之家
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
博客园_首页
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
NISL@THU
NISL@THU
I
InfoQ
D
DataBreaches.Net
有赞技术团队
有赞技术团队
K
Kaspersky official blog
Security Latest
Security Latest
The Register - Security
The Register - Security
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
AI
AI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News and Events Feed by Topic

博客园 - Hover

找出隐藏的字符 - Hover - 博客园 GZIP压缩导致无法输出缓冲区内容。 asp.net 开发WAP MFC 试图执行系统不支持的操作 VC2005 无法打开RC文件.提示Opened in another editor DIALOG Undeclared identifier 找回VISUAL STUDIO 2005丢失的模板 用OD和CE结合跟踪查找基址 查看发包数据bp Send 修改boot.ini使W3wp使用更多的物理内存 查找游戏帐号 查找选中怪ID相对于基址的偏移 提醒精灵.NET 发布 (小技巧九)设置开机运行功能 简单地址重写 使用.NET Reflector插件FileDisassembler还原源码! ASP输出WOrd、Excel文件! (小技巧八)计算字符串的长度 修改Windows 2003 的默认上传文件大小!
[转]OD 跟踪调试经验
Hover · 2008-07-01 · via 博客园 - Hover

原作者不详

如你要跟ebx,跟到某层遇到mov ebx, [ebp-430]之类的,不用讲,局部变量,此时在ebx下断,看ebx的值,再ctrl+f9, f8,到上一层看是怎么传进来这个参数的。比如是最后一次push传进来的,就向上一直跟最后一次push的寄存器。
向上跟数值时,遇到ebp,esp之类的,一定要仔细看。仔细分析堆栈。并不要认为上一个函数一定是堆栈平衡。
遇到跟数据是跟ecx的,一般情况,都很向上跟很多层,因为在面向对象语言中,对象指针都用ecx寄存器存放,而对象指针在函数中很重要的,或者说,一个对象函数中很多层函数都要保存这个对象指针,因为任何函数都可能用到。
跟数据遇到要找eax时,第一反应因为是向上看最近一个CALL函数,但也不一定是最近一个CALL函数的返回值。因为有些函数是没有返回值的。所以您要做的就是在那个函数下断,再F8走过函数,看寄存器eax变化没有。
从断游戏,分析数据角度讲,经常要用到断内存数据是谁写的。有的游戏是不能下内存断点的,此时可以考虑硬件断点。
当你向某内存地址下写入断点,看谁写的它时,断下后发现是堆栈写,此时,你就不要在堆栈去下断点了,堆栈数据是随时都在写,这样是断不下来的。这样,就只有向上看反汇编,F8一步一步走,看是谁向堆栈写数据。
有时需要断edi时,而edi是变化的,此时可以找规律,查看edi每次的step为多少,然后去到当前edi向后增加多少下断点。
在有些情况下,比如过程函数,分支函数,你直接下断点可能一直断下,所以此时您就需要用到条件断点,所以一定要掌握条件断点用法。
经常注意当前模块位置,打个比如,当你断在MSVERT模块中,你需要找的edx,而edx就是一个地址,此时,可能MSVERT模块已经相对游戏领空很多层了,你一步一步向上找可能很花时间,也很容易跟错数据。此时你可能考虑一次性多次ctrl+f9, f8,直到Game模块,然后在Game模块中,调用MSVERT的这个函数下断,看下是怎么传参进去的(也就是是第几个参数,或者寄存器传的edx值)。这样,再向上找就方便多了。
如果是做内挂,一定不要去说用封包好还是用CALL好,只可以告诉自己,哪个方便用哪个。CALL找不到,找封包,如果封包分析不出数据,就找CALL。也许换种方法更简单