首页
社区
课程
招聘
ollydbg只要知道窗口标题或窗口类名下断的方法。
发表于: 2005-2-3 10:52 11998

ollydbg只要知道窗口标题或窗口类名下断的方法。

2005-2-3 10:52
11998
本人英语水平不行,破解水平也极差,平常只是潜水,但今天发现一篇英文,本人还能看懂,所以试着发一贴,有什么问题诚惶诚恐听取。
标题全文意思应是:
条件中断bp createwindowEx,只要知道窗口的标题或窗口class名(我记得有一个软件叫“窗体属性修改专家”能得到窗口class名。标题名怎么得到不需要我说了吧,其实不用任何工具,在ollydbg中你就能知道了)。
在ollydbg菜单"View | Windows"(点快捷按钮"W"也可以)打开,这个窗口查看工具非常不错,可以显示全部窗口及其子窗口的类名、标题和ClsProc(这个词我不会翻)(窗口的控制函数),但这时还不能显示你想下断的窗口(这个窗口是指在这个窗口运行时你想下断的窗口,比如启动画面窗口)这些你都必须在程序运行的时候才能做,这就是为什么ollydbg不可能显示给我们。将ollydbg载入程序后,并让程序开始运行,
ollydbg的条件中断能很容易完成在程序进入时下断,使用View | Windows打开window窗口后,找到你想要下断的窗口的标题或class名并记下来,接下来按下面方法做(在主窗口CPU/disassembly 中)
1.按Ctrl+G,输入"CreateWindowExA",(按回车吧)。
2.ollydbg会停在某一行,在cpu窗口上是第一行,这就是CreateWindowExA函数入口了(ollydbg会自动跳到这一行),按鼠标右键选择"Breakpoint | Conditional Breakpoint"(或直接按shift+F2).
3.然后输入你刚才记下的窗口类名
[esp+8]=="类名"
如果是窗口的标题则:
[esp+12]=="窗口标题"(不要输入引号,否则断不了,类名应该也是一样吧,没试。另外注意类名是[esp+8],窗口名是[esp+12])
4.开始吧(我加滴)。
不要害怕使用expressions和条件中断(conditional breakpoints),你会很容易在很短时间掌握它,ollydbg的帮助文件有介绍的很详细(我现在就去看看)。
下面是英文原文。

The "View | Windows" tool in Ollydbg is very good at displaying all windows and children including the class name, class title, and ClsProc (handler function for that window), however it does not show you where the window was created so if you want to find out which call to CreateWindowEx created a specific window (which youd need to know if you want to stop a window such as a nagscreen from loading) then this must be done at runtime, which is why it is not possible for Ollydbg to show us.

Ollydbg's Conditional Breakpoint capability comes into play here to make things very easy for us. After using the View | Windows tool to find out the title or class of the window you want to break on, just do this (from the main CPU/disassembly window):
1. Press Ctrl+G, then type CreateWindowExA
2. Right-click on the first line of code in the CreateWindowExA function (it'll automatically be selected by the Goto), then select "Breakpoint | Conditional Breakpoint" (or simply Shift+F2)
3. Just enter the following to break when it creates a known window class:
[esp+8]=="Class text here"
Or this for known window titles:
[esp+12]=="Title text here"

Dont be afraid to play around with expressions and conditional breakpoints, theyre there to make things much easier for you and they dont take too much time to learn as the Ollydbg helpfile documents it well enough

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
挺好的谢谢了
2005-2-3 11:05
0
雪    币: 200
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好方法呀,不错。
2005-2-3 13:54
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习、学习、学习
2005-2-3 23:29
0
雪    币: 265
活跃值: (430)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
5
支持,学习!
2005-2-4 10:22
0
雪    币: 214
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
支持,学习!
2005-2-8 07:40
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
2005-2-8 09:17
0
雪    币: 198
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不错!!!!!!!!!!!!!!!
2005-2-8 11:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
在OD这么多窗口,看都看到头晕。
最好写一个OD大全,像DFCG官方论坛
2005-2-8 12:44
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好文!
[esp+8]和[esp+12]是关键哦~
其实就是第一个和第二个参数在栈里的地址,前提是开头有push ebp;mov ebp,esp;
不知理解的对不对~
2005-2-9 23:58
0
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
11
好方法!
支持!!!
2005-2-11 10:43
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
非常方便的方法啊
2005-2-11 18:30
0
雪    币: 425
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
又学到一招!
2005-2-11 18:47
0
雪    币: 200
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
就是不知有没有用呀
2005-2-16 16:07
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最初由 wrong 发布
本人英语水平不行,破解水平也极差,平常只是潜水,但今天发现一篇英文,本人还能看懂,所以试着发一贴,有什么问题诚惶诚恐听取。
标题全文意思应是:
条件中断bp createwindowEx,只要知道窗口的标题或窗口class名(我记得有一个软件叫“窗体属性修改专家”能得到窗口class名。标题名怎么得到不需要我说了吧,其实不用任何工具,在ollydbg中你就能知道了)。
在ollydbg菜单"View | Windows"(点快捷按钮"W"也可以)打开,这个窗口查看工具非常不错,可以显示全部窗口及其子窗口的类名、标题和ClsProc(这个词我不会翻)(窗口的控制函数),但这时还不能显示你想下断的窗口(这个窗口是指在这个窗口运行时你想下断的窗口,比如启动画面窗口)这些你都必须在程序运行的时候才能做,这就是为什么ollydbg不可能显示给我们。将ollydbg载入程序后,并让程序开始运行,
ollydbg的条件中断能很容易完成在程序进入时下断,使用View | Windows打开window窗口后,找到你想要下断的窗口的标题或class名并记下来,接下来按下面方法做(在主窗口CPU/disassembly 中)
........


看你的中文真的很费劲。
2005-2-16 16:41
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
16
有 鸡蛋壳 回帖,必看。
2005-2-16 17:57
0
雪    币: 242
活跃值: (135)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
17
这是谁写的?你在那里看的?:)
2005-2-16 19:51
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
Author Message
1bitshort
Member
2005-2-19 14:17
0
雪    币: 233
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
2005-4-4 23:03
0
雪    币: 234
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
惭愧惭愧,用了olly这么久了,还不知道可以这么用。
2005-4-5 09:02
0
游客
登录 | 注册 方可回帖
返回
//