您的位置:首页 > 其它

总结一下各种语言按纽事件的找法

2017-11-16 10:05 267 查看
一、VB程序

其实,VB的按纽事件的找法是最为普遍的,也就是大家所谓的万能断点.其实也不仅仅是针对按纽事件,还有很多其他的用处,如取消NAG,启动框,灰色按纽或隐藏按纽,启动时的timer事件等等,具体的就自己去总结吧,这里只演示按纽事件!

OD载入后,CTRL+B,816C24

 

 

确定后,就会来到下图处:


 

[img=550,0][/img]

然后,就在下面的JMP处F2下断,下完后CTRL+L,如果还有,就继续下断点.

下完断点后,运行程序,点击相应的按纽,OD就会断下来了


 
[img=550,0][/img]

下面的任务就是考验大家的耐心,F8跟踪吧,不再赘述了.

当然,为了方便大家,可以写个简单的脚本,免的每次都去手动设置了,节省时间:

程序代码

var Addr

mov Addr,401000

loop:

find Addr,#816C2404??000000#

cmp $RESULT,0

je Exit

add $RESULT,08

bp $RESULT

add $RESULT,1

mov Addr,$RESULT

jmp loop

Exit:

eval "按纽事件查找完毕!"

msg $RESULT

ret

二、Delphi和BC++程序

Delphi和BC++都是同一公司开发的,故查找方法都一样,当然你也可以使用DEDE.

OD载入后,CTRL+G,转到00401000处

然后就CTRL+B,查找特征码740E8BD38B83????????FF93????????


 



然后就会找到下面的地方:


 
[img=550,0][/img]

然后就在下面的CALL处下断吧.

下面的工作就是不断的CTRL+L继续查找和F2下断了.

运行下看看效果吧:


 
[img=550,0][/img]

看,断下了吧,下面就F7跟进这个CALL吧,就来到这个按纽事件处了.

同样写个脚本,方便大家操作:

程序代码

var Addr

mov Addr,401000

loop:

find Addr,#740E8BD38B83????????FF93????????#

cmp $RESULT,0

je Exit

add $RESULT,0A

bp $RESULT

add $RESULT,1

mov Addr,$RESULT

jmp loop

Exit:

ret

三、易语言

易语言的这种查找方法,同样适合有壳的程序,其他的就必须脱壳后再继续操作了.

OD载入后,就F9运行程序吧,当程序运行后,ALT+E

选中易语言的核心库krnln,双击进去


 



然后CTRL+B,查找FF 55 FC 5F 5E


 

[img=550,0][/img]

查找到的这个CALL就是了,F2下断吧

现在输入必须的内容后,单击对应的按纽吧


 

独立编辑: Ctrl+G  跳到 00401000    Ctrl+B  搜索 FF 55 FC 5F 5E
[img=550,0][/img]

看,断下了吧,下面就F7跟进吧,就来到按纽事件处了

同样,写个脚本,方便大家

程序代码

gpa  "GetProcessHeap","kernel32.dll"

cmp $RESULT,0

je err

bp $RESULT

run

run

run

bc $RESULT

rtu

find 10001000,#FF55FC5F5E895D??8945#

bp $RESULT

find eip,#FFE0#

cmp  $RESULT,0

je   err

bp   $RESULT

run

bc   $RESULT

sto

MSG "按纽事件查找完毕!"

ret

err:

MSG "脚本运行错误!请检查错误后再继续运行脚本!"

ret

四、VC++程序(非MFC程序)

OD载入后,单击鼠标右键,选择"查找",然后是"所有命令"

在弹出的输入框里,写入特征代码"sub eax,0a"


 



确定后,就来到下面的窗口


 
[img=550,0][/img]

在下面的sub eax,0A处,双击进去吧:

[img=550,0][/img]


 

来找这里后,在下面的je处跟随过去

[img=550,0][/img]


 

跟随来到的这个CALL,就是了,F2下断吧

然后断下后,F7跟进,F8几次,就来到按纽事件了.

五、MFC类程序

当然判断MFC和非MFC的程序,靠大家自己去判断了

OD载入后.ALT+E,来到可执行模块,找MFC的核心DLL:MFC42

然后就双击进去


 
[img=550,0][/img]

然后就CTRL+F,查找特征代码:sub eax,0a

[img=550,0][/img]


 

同样,找到后,就在下面的je处跟随,跟随后看到的CALL,就是那个关键CALL了!

[img=550,0][/img]

断下后F7跟进,F8几次,就会来到按纽事件代码处了!


 

方法就简单的介绍到这里了,当然只是抛砖引玉,其他的,还得多靠大家自己慢慢总结吧!

本文转自论坛,由xjun 修正重新编写!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: