能力值:
(RANK:410 )
2 楼
如果你是在消息回调函数第一句设断点,可以使用下面的条件断点。
bp xxxxxxxx, DWORD ptr [esp+8] == WM_TIMER
不过,没有注册按钮,只有编辑框的注册界面,并不需要使用WM_TIMER消息。一般都是使用EN_CHANGE消息(这个消息是当编辑框有字符变动更新时就会触发),所以你用下面的断点可能比较好(注,xxxxxxxx设断的地址必须是消息回调函数第一句才能对应下面的条件断点,只如你是在第三句以后的地址设置,下面的条件断点地址就无法对应了)。
bp xxxxxxxx, DWORD ptr [esp+8] == WM_COMMAND && WORD ptr [esp+0c] == EN_CHANGE
能力值:
(RANK:10 )
3 楼
哦,非常感谢小虾版主的解答!
但是我用的是原版的OD,用类似bp这样的命令,需要一个插件吧?
对了,消息回调函数是指的SetTimer里面设置的那个函数地址吗?这个CrackMe设置的是NULL,意思是它用默认的消息处理来处理WM_Timer
我如何找到默认的消息处理函数呢?
能力值:
(RANK:410 )
4 楼
能力值:
(RANK:410 )
5 楼
上面的链接是两个版本的,要哪个版本就随便你选择了。
能力值:
(RANK:10 )
6 楼
哦,再次感谢小虾版主的详细解答-_-
能力值:
(RANK:410 )
7 楼
先运行程序,点击OD的查看->窗口,打开OD的“窗口”窗口,那里记录着程序里所有回调函数地址,主程序的消息回调函数一般是第一个。
能力值:
(RANK:10 )
8 楼
可是小虾版主,我这样弄了之后什么反应也没有
我把这个东西传上来了,帮忙看看吧
上传的附件:
能力值:
(RANK:410 )
9 楼
晕,看程序不像是CrackMe。倒像是做免杀之类的工具。
上传的附件:
能力值:
(RANK:10 )
10 楼
啊,我是好久以前在论坛上下载的
我发现了一个新问题,貌似并非你的讲解有问题,我找了一下其他相关帖子
这样下断,居然也没反映
bp CallWindowProcA,[ESP+0C] == 00000001
难道我的OD有问题?
但是小虾版主,你还是搞定了它``是用刚才给我讲的方法吗?
我又试了其他程序,发现都没用,难道是我的OD有问题吗?
能力值:
(RANK:410 )
11 楼
没用我说的方法,这是Delphi程序,用普通的消息断点没有用,Delphi一般用DEDE辅助找关键点。
能力值:
(RANK:10 )
12 楼
Many thanks to moderator Shrimp
I should like to acknowledge my debt to moderator Shrimp
I am indebted to moderator Shrimp
不知道"小虾"是不是该用这个单词啊
总之谢谢版主今天不厌其烦的回复