吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19649|回复: 65
收起左侧

[转贴] 【新手专利,老鸟请走开 嘿嘿】各语言的按钮事件,利用特征码查找位置

    [复制链接]
丿猎狐 发表于 2018-9-29 20:38
本帖最后由 丿猎狐 于 2018-10-10 07:55 编辑

刚步入破解领域的小小白请移步到此贴:https://www.52pojie.cn/thread-802225-1-1.html
小弟先前不懂规矩哈,被H大禁掉了帖子,这回编辑好后重发一下
经过这次教训,希望和我一样新来的朋友发“转贴”时要注意图片水印和某某论坛软件标题等等,谢谢!
这种帖子吾爱我好像没有找到,所以去别处找了放在这把
如遇到关于按钮事件特征码的,我会再次整理到这的


简洁版:
《《《Delphi程序》》》
特征码:FF 93 20 01 00 00 5B C3 53
-----------------------------------------------------------------------------
《《《易语言程序》》》
特征码:FF 55 FC 5F 5E 89 5D F4
特征码来源:krnln.fnr
-----------------------------------------------------------------------------
《《《MFC程序》》》
RELEASE
特征码:FF 55 14 EB 7F FF 75 0C
特征码来源:MFC42.DLL
DEBUG
特征码:FF 55 FC E9 48 04 00 00 33 C9
特征码来源:MFC42D.DLL
-----------------------------------------------------------------------------
使用方法:OD载入程序---F9运行---Alt+M打开内存镜像---Ctrl+B搜索特征码---Ctrl+G跳到找到的地址---F2下断---点击按钮---断下后F7进入CALL(此处即为事件代码)
说明:对于Delphi程序和易语言程序,根据目前测试的情况来看,都是一击必杀,例无虚发
   对于MFC程序只取了VC++6.0的特征码
   易语言程序下断后,可能界面没出来就断下了,这是因为断下的是[启动窗口创建完毕事件]或[时钟周期事件]

图文版:

Delphi & BC++

使用Detect it Easy工具确定软件使用的编译器为Delphi或者是BC++,这两个编译器的按钮特征码相同。  

OD载入程序,反汇编窗口右键->查找->二进制字符串:

然后在HEX窗口输入特征码,注意Delphi和BC++的特征码是相同的(“740E8BD38B83????????FF93????????”):

注意勾选整个块。

特征码.jpg

特征码中的问号代表任意数据。

在特征码的下面都会传下一个CALL,然后我们在每个特征码的下面的CALL下断点:

断点CALL.jpg


然后CTRL+L,在所有的特征码下面的CALL下断点。因为我们不知道是哪一个按钮,所以需要在每个按钮都下断点,如果程序比较小,很快,如果程序比较大,按钮事件比较多,可以使用脚本来下断点。

断点下完之后,F9运行程序,然后点击关键的注册之类的按钮,程序会停当前按钮的CALL处,然后F7进CALL,就可以找关键CALL和关键跳了。

VB
使用同样的方法搜索VB的特征码(“816C24”):
VB.jpg
在每个jmp处下断点,然后运行程序,来到断点处,jmp跟过去之后就是按钮事件的处理过程了。


MFC

注意,使用MFC和VC++编写的程序,使用PEiD查壳时,都会显示是Visual C++6.0的编译器,两者的区分方法是,使用OD载入程序,在E窗口中,MFC的程序会调用一个mfc42.dll的动态链接库文件,而VC++的程序不会调用这个库。

MFC.jpg

载入MFC程序,在E窗口中双击mfc42.dll,跟进去,然后反汇编窗口中右键->查找->命令:

“sub eax,0a”,找到之后,在特征码的下面会有一个je跳转,选中je命令行,然后按回车,程序会跟随到跳转处,来到目标地址,找下面的一个CALL,下断点:

MFC断点.jpg

如果je跳转之后,没有CALL,那就不用管这个特征码,继续查找下一个特征码,直到找到所有的CALL为止。

然后全速运行程序,点击按钮之后,程序会在断点处停止,然后在上下文找关键CALL和关键跳即可。

易语言

注意,易语言编写的程序,使用PEiD查壳时,显示的编译器也是Visual C++6.0,使用OD载入程序,直接在反汇编窗口中右键->查找->二进制字符串,输入易语言的特征码:“FF 25”,如果能够找到,就说明是易语言编写的程序。

易语言体:

易语言.jpg

可以看到有一堆的jmp指令,以上就能判断是易语言程序。下一步查找易语言的按钮事件:二进制字符串“FF 55 FC 5F 5E»ò(e-debug)”,找到之后,会来到CALL处,直接下断:

直接下断.jpg

查找剩下的,所有地方都下断点,然后F9运行程序开始调试。易语言程序还可以使用另一种方式来查找按钮事件,使用E-debug工具:


使用OPEN载入易语言程序,然后点击START,运行程序,点击按钮,会显示事件发生的地址:


记下事件发生的地址,然后使用OD载入程序,跟踪到这个地址下断点:

Ctrl+G,输入要跟随的表达式,输入刚才记录的地址,下断点:

跟随.jpg

F9运行程序,触发断点事件,即可断在此处。

VC++

使用PEiD查壳,查找的编译器为VC++6.0,如果找不到易语言和MFC的标志,那就可以判断是vc++写的程序,按钮事件查找方法,直接OD载入程序,在反汇编窗口右键->查找->所有命令,输入特征码:“sub eax,0a”:

VC.jpg

双击跟进去,在下面会有一个je:

je.jpg

选中之后,回车,跟过去,在下面的CALL下断点:

CALL下断.jpg

按照上面的方式找到所有的CALL下断点。

然后F9运行程序,点击按钮,程序来到断点处,F7跟进去,注意,进去之后还不是核心按键处理程序,按两次F8之后,才来到核心代码处:

核心.jpg


万能断点

不需要知道程序使用的编译器和编译语言,直接OD载入程序,直接运行程序,输入假码之后,不要点击按钮:

不要点.jpg

查看user32模块:

user32.jpg

来到user32模块之后,搜索特征码,右键->查找->二进制字符串:“F3A58BC883E103F3A4E8”

查找.jpg

然后下断点,找到所有的都要下断点。然后回到程序,点击按钮,程序暂停,返回OD,alt+F9,执行到用户代码:

用户代码.jpg
然后就到了按键事件处理的代码了。如不全,请朋友们在下方评论区留言,我会为大家搜集整贴!

最后,如果您觉着此贴可以帮助到您,那么您可以献上您的热心,谢谢!


Delphi.jpg

点评

然而怎么来的。。。等同于没说,如今是2020年了。。。很多已经失效了吧。。。  发表于 2021-5-20 10:41

免费评分

参与人数 13吾爱币 +9 热心值 +13 收起 理由
沉默的旋律 + 1 我很赞同!
Eaoing + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
涛之雨 -1 + 1 用心讨论,共获提升!
连晋 + 1 + 1 辛苦了 感谢
wahx1314 + 1 + 1 用心讨论,共获提升!
成长 + 1 + 1 谢谢@Thanks!
独孤傲弑 + 1 + 1 我很赞同!
策士 + 1 + 1 我很赞同!
Nicer98 + 1 + 1 谢谢@Thanks!
xinkui + 1 + 1 用心讨论,共获提升!
y376694236 + 1 + 1 谢谢@Thanks!
wuaipojiee + 1 + 1 我很赞同!
威风的黑龙 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 丿猎狐 发表于 2018-9-30 07:08
本帖最后由 丿猎狐 于 2018-10-10 14:27 编辑
Aug.LuKai 发表于 2018-9-29 21:11
你这好像是从某开放视频里面截取的画面吧?

请注意标题“转贴”!这是别的网站上的资料,因为吾爱内挺少的所以我放到这里
yidaozi 发表于 2019-1-9 17:11
OD载入程序---F9运行---Alt+M打开内存镜像---Ctrl+B搜索特征码---Ctrl+G跳到找到的地址---F2下断---点击按钮---断下后F7进入CALL,思路清晰,值得我学习
fyh505099 发表于 2018-9-29 20:46
cf56262330 发表于 2018-9-29 20:48
门外汉专利有没
映月流殇 发表于 2018-9-29 20:53
感谢楼主的分享
sufeiy 发表于 2018-9-29 21:10
十分感谢楼主的分享。。。
Aug.LuKai 发表于 2018-9-29 21:11
你这好像是从某开放视频里面截取的画面吧?
mt1425 发表于 2018-9-29 21:25
感谢楼主整理,领教了
沐柒乀 发表于 2018-9-29 21:40
收藏了,感谢分享
leonwqhb 发表于 2018-9-29 22:18
这个东西一定要MARK一下。。
以后有需要好到这里来找下。。哈哈、
gunxsword 发表于 2018-9-29 22:23
收藏一下,以后有机会,试试!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-22 21:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表