【S02E07】Shark恒 零基础破解教程之图文!【捕风捉影】
最近很多人问我同样一个问题,没有信息框如何找到关键跳?我先和大家简单的讲一下原理,然后我们在开始今天的课程。
问题:没有信息框如何找到关键跳?
通常情况下,你肯定是点击了按钮,然后才发现没有信息框提示。
我们爆破的思路,在之前学习的内容里,都是通过信息框。
这次就学习一下如何在点击按钮的同时暂停程序!(也就是按钮事件)
由于现在网络上易语言程序很多,所以我在这里就拿个易语言举例吧!其他语言按钮事件请自行搜索。
今天的课件我要介绍一下,这个软件需要登录正确的帐号密码,才能显示登录成功。
只有登录成功的情况下,才能使用下面4个按钮(课件已经删除掉后2个按钮,改为只有显示与隐藏桌面)
如果登录失败使用下面功能按钮的话,会提示让你登录。如下图红色字体就是提示信息。
这节课我要爆破的是登录按钮,因为我们不知道已经固定好的帐号密码,所以我要爆破他。
这里特别提示,大家不要费心了,这个软件不存在算法。
爆破成功并登录后,下面的按钮就可以使用了。
情况已经介绍完了,我在给大家介绍一个软件。e-debug
这个软件可以跟踪易语言软件的每一步操作。可谓“捕风捉影”!
我们打开e-debug,点Open载入我们要跟踪的程序,然后点Start运行程序。
如下图:
程序运行起来后,大家可以注意到,e-debug显示一个”事件发生“
这个不用理他,我们输入帐号密码点击登录。下图
点击登录后,就可以发现,又出现一个”事件发生“。
这后面的地址,就是我们点击按钮时的按钮事件。看下图
我们把这个地址复制下来,然后e-debug就可以关掉了。
OD载入程序,然后按下图箭头指向操作。
点击OK后,我们就来到了下图位置。
这里是这个按钮事件的段首位置,也就是我们点击按钮的那一刻,就会在这里停下,然后任你摆布。
F9运行程序,然后输入帐号密码,点击登录。如下图
程序断在了这个位置,在这里我要说一个小问题与一个小技巧。
小问题:我就不一步一步的分析了,因为是大部分的朋友汇编基础并不扎实。
小技巧:我个人找到一个小规律,不知道是否适用于更多软件,还需要各位指点。
如果各位有什么好的方法能让不懂汇编的人也可以找到关键跳与关键call请@我。感谢各位。
下面就来说说这个小技巧的使用方法,现在程序停留在了段首。
我们向下翻页,找到这段的断尾。然后在断尾附近可以找到跳转进入。如下图绿色箭头位置。
然后跟随这个跳转,去来源处,发现是一个JMP,那既然是JMP为什么会跳转不过来呢?(这话听着耳熟吗?)
我们可以发现,在JMP下面一行代码处,又有一个跳转进入。下图绿色箭头位置。(这话是不是更耳熟了?)
然后跟随这个跳转,到跳转来源处,发现这是一个条件跳转。
就是因为他的成功跳转,使得我们提示失败。所以我们要干掉他!
如下图,NOP掉这个Je,(或其使用他更多方法来影响这个跳转)
保存一下我们修改过的程序,打开程序点击登录,提示“登录成功”。
现在我们在用下面的功能键就可以正常使用了!
其实这个小技巧找到断尾后,操作与S2E1的步骤是一样的。
关键的地方在于不F8单步跟踪,而是直接去断尾找关键条与关键CALL。
大家可以把我之前的课件用这种方法练习一下。
这里提供的小技巧并非所有程序都适用,如有不妥,还望提出,在此仅供参考。
其实也可以不用e-debug,我们可以在OD右键查找二进制,输入FF 55 FC 5F 5E这一段代码其实就是对按钮事件下断点了。
(FF 55 FC 5F 5E是易语言按钮事件断点),不适用于其他编程语言。
另外提示:e-debug可以获得更多内容,请自己尝试使用。
下断之后点击按钮,断在系统领空,两次返回之后到软件 但是同时消息框出现怎么破
谢谢lz感谢分享
好帖,必须顶!
谢谢了,不知道怎么评分!!!!!!!!
账号:mfc71.dll
密码:mfc71u.dll
虽然不知道怎么搞出来的
又学会了新的知识
这一课我也学的挺晕乎。
用恒大教程的方法肯定没问题。下面是我的两个问题:
1、
如果用FF 55 FC 5F 5E下断的话,第一次断好像不是断的按钮,因为程序界面都没出来。再按一次F9后,出现程序界面后,按登录,这时候断的才是按钮。这个时候就可以F7跟进去了。
至于为什么F7跟进去,我也不知道,反正不进去,一直F8的话,最后提示“登录失败”,抬头一看,在系统领空里,也不知道怎么回到程序下。
如果跟进去,正好和e-debug获取的那个指令地址一样。
2、
即使是在e-debug哪个指令地址那里(就是那个段首),不懂汇编的我,也是万万找不到call和跳转的,因为从段首处一直F8下去,一直走完这段,跳出来,,,,也看不到程序有变化,所以也不知道哪个是关键call。。。。。
只能用恒大的方法,直接去找调转。。。。
这个怎么写补丁呢