本人英语水平不行,破解水平也极差,平常只是潜水,但今天发现一篇英文,本人还能看懂,所以试着发一贴,有什么问题诚惶诚恐听取。
标题全文意思应是:
条件中断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
[课程]Android-CTF解题方法汇总!