暴力破解获得权限
思路:
通过软件特征提示查找关键信息码。
通过点击软件运行,通过输入信息,一般会有提示框或提示信息。在这里,如果对于编程熟悉一点的,就会发现这是在判断信息的时候出现的提示信息,这时候判断筛选的代码就是判断你输入信息是否正确的代码。
这时我们就可以通过将这些代码注释掉,就可以绕过判断从而获得权限,这就是主要的思路。
开始实践:
点击打开软件,通过输入信息,这时发现有错误提示信息,其中“false”就是关键词
通过判断,打开发现没有脱壳
通过ollydbg打开,通过右键点击,通过中文搜索中的智能搜索,跳转到对应框
快捷键Ctrl+f出现搜索框
输入关键词,false
跳转到对应关键字
点击对应关键字,跳转对应的代码行
到了这里就是最难的点的就出现了,这里需要我们细心观察和对于代码的熟悉程度了。对于我自己来说,我也是找错了好多次才慢慢发现的。
可以想到,通过false跳转到这里,那这段代码就是false所处位置的代码。而通过程序的运行流程可以知道,出现错误提示符就意味着判断信息出现错误,然后就会跳转到对应的错误信息提示处,那么接下来的关键就是要找到关键的跳转代码。
如何找跳转代码呢?这也是一个难点,通过前面的一些单步跳转简单学习可以知道,一般出现跳转的地点前面总有些特征,比如说向下的小箭头是代表进入向下,而向右的箭头代表一些进入跳转。我通过自己的观察,可以看到一般一段有关联的代码会有红色括号包含,而通过分析,这两行的代码相互交叉包含,这时通过注入断点运行的方式,我发现了这里就是判断跳转到false的关键代码处,那么关键问题就解决了
点击设置断点
将这里的断码使用nop填充方式,将其注释掉
点击右键的复制可执行文件,选择
右键点击保存文件
保存的新文件就是我们通过关键字代码破解的一个新软件,可以通过任意输入获得权限
特别说明:
再次强调一下,写文章的目的不是给大家提供教程学习,而是分享一些学习的思路和自我的总结,可能这些是比较老旧,但是这里的思想仍然适用,不过随着技术的不断革新,想要真正的破解一些高级点的,那就需要不断前行。在我个人看来,安全是一个没有界限的领域,想要安全那就需要了解内部的一些基本实现,学习相关知识,但是前人的思路却是一定有其宝贵的内涵,有了这些思路,学习一些新的知识领域,比如说前端的代码,也是可以通过这些办法学习的,知识知识在更新而已,经验却是你前进的路标,希望共勉。