1、OD各种编程语言查找按钮事件一、VB程序其实,VB的按纽事件的找法是最为普遍的,也就是大家所谓的万能断点.其实也不仅仅是针对按纽事件,还有很多其他的用处,如取消NAG,启动框,灰色按纽或隐藏按纽,启动时的timer事件等等,具体的就自己去总结吧,这里只演示按纽事件!OD载入后,CTRL+B,816C24确定后,就会来到下图处:然后,就在下面的JMP处F2下断,下完后CTRL+L,如果还有,就继续下断点.下完断点后,运行程序,点击相应的按纽,OD就会断下来了下面的任务就是考验大家的耐心,F8跟踪吧,不再赘述了.当然,为了方便大家,可以写个简单的脚本,免的每次都去手动设置了,节省时间: 复制内容到
2、剪贴板 代码:var Addrmov Addr,401000loop:find Addr,#816C2404?000000#cmp $RESULT,0je Exitadd $RESULT,08bp $RESULTadd $RESULT,1mov Addr,$RESULTjmp loopExit:eval 按纽事件查找完毕!msg $RESULTret二、Delphi和BC+程序Delphi和BC+都是同一公司开发的,故查找方法都一样,当然你也可以使用DEDE.OD载入后,CTRL+G,转到00401000处然后就CTRL+B,查找特征码740E8BD38B83?FF93?然后就会找到下面的地方
3、:然后就在下面的CALL处下断吧.下面的工作就是不断的CTRL+L继续查找和F2下断了.运行下看看效果吧:看,断下了吧,下面就F7跟进这个CALL吧,就来到这个按纽事件处了.同样写个脚本,方便大家操作: 复制内容到剪贴板 代码:var Addrmov Addr,401000loop:find Addr,#740E8BD38B83?FF93?#cmp $RESULT,0je Exitadd $RESULT,0Abp $RESULTadd $RESULT,1mov Addr,$RESULTjmp loopExit:ret三、易语言易语言的这种查找方法,同样适合有壳的程序,其他的就必须脱壳后再继续操
4、作了.OD载入后,就F9运行程序吧,当程序运行后,ALT+E选中易语言的核心库krnln,双击进去然后CTRL+B,查找FF 55 FC查找到的这个CALL就是了,F2下断吧现在输入必须的内容后,单击对应的按纽吧看,断下了吧,下面就F7跟进吧,就来到按纽事件处了同样,写个脚本,方便大家 复制内容到剪贴板 代码:gpaGetProcessHeap,kernel32.dllcmp $RESULT,0je errbp $RESULTrunrunrunbc $RESULTrtufind 10001000,#FF55FC5F5E895D?8945#bp $RESULTfind eip,#FFE0#cmp
5、$RESULT,0je errbp $RESULTrunbc $RESULTstoMSG 按纽事件查找完毕!reterr:MSG 脚本运行错误!请检查错误后再继续运行脚本!ret四、VC+程序(非MFC程序)OD载入后,单击鼠标右键,选择查找,然后是所有命令在弹出的输入框里,写入特征代码sub eax,0a 10.GIF (7 KB)2008-9-14 12:02确定后,就来到下面的窗口在下面的sub eax,0A处,双击进去吧: 12.GIF (16 KB)2008-9-14 12:02来找这里后,在下面的je处跟随过去跟随来到的这个CALL,就是了,F2下断吧然后断下后,F7跟进,F8几次,就来到按纽事件了.五、MFC类程序当然判断MFC和非MFC的程序,靠大家自己去判断了OD载入后.ALT+E,来到可执行模块,找MFC的核心DLL:MFC42然后就双击进去然后就CTRL+F,查找特征代码:sub eax,0a同样,找到后,就在下面的je处跟随,跟随后看到的CALL,就是那个关键CALL了!断下后F7跟进,F8几次,就会来到按纽事件代码处了!方法就简单的介绍到这里了,当然只是抛砖引玉,其他的,还得多靠大家自己慢慢总结吧!附件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1