这套工具库其实秦淮也获得不久,在社团考核的时候还没有。
也就是在两天前,自己收到了来自白客论坛官方的消息通知,因为自己‘流离半世的苍白’这个ID在针对求助帖这块做出了比较大的贡献,特别邀请自己来测试这套工具库的实用性。
......
直接将下载下来的Crack_Me文件拖进虚拟机桌面上。
秦淮第一步,就是在虚拟机上双击运行文件,先知道这是个什么程序。
文件打开后,出现的是一个简单的窗口,上面只有一个按钮,和一个输入框,输入框在上,按钮在下。
很显然,是要往输入框中输入正确的字符串。
秦淮自然是不知道字符串是什么,就随便输入了几个字母,点击确定。
‘Incorrect Flag!’
直接弹出了一个flag错误的提示弹窗,差不多持续了两秒钟左右,就连同程序一起被关闭了。
只是一个功能很简单的小程序,难度应该不大。
题目的意思,就是让破解出这个文件,找到正确的Flag,和部分破解软件激活码之类的有异曲同工之妙。
知道了基本的功能,那么接下来就是解决问题了。
一般来讲,windows下的exe文件和dll文件都属于PE文件,所以只需要简单的在工具库的PE工具分类下,找到PE查壳工具。
然后就可以通过查壳工具直接分析出题目中这个文件到底有没有加壳,加了什么类型的壳。
秦淮前世作为一名信息安全类专家,很是知晓现在乃至未来几年的技术发展。
关于加壳这种事情,已经越来越少了,基本上用都是几年前的老手段。
大部分的程序员都转向了移动平台的开发,电脑平台是越来越不吃香了。
所以查壳,仅需一个带有主流壳特征数据库的工具即可,而正好这个工具是白客论坛上的用户开发的,数据库十分的完整。
当然也可以自己通过汇编分析调试器查看特征进行判断,但是没有这装比的必要。
加载文件,鼠标简单的点击一下工具上的分析按钮,在不到一秒中的时间内,结果已经以弹窗的形式告知了。
‘经检查,此文件未经加壳处理,编程语言为 Microsoft Visual C++ ver 5.0/6.0。(如检查结果有误,请主动联系......)’
嗯?没有加壳?
那还好,省得麻烦。
在秦淮的记忆里,如果是遇到一些比较麻烦的壳,是需要通过汇编分析调试器进行动态反汇编,找到程序的真正入口后,再去通过调试器上的插件进行脱壳操作。
既然没有壳的话,那事情就比较简单了。
直接将题目文件拖入工具库里面的交互式反汇编程序,点击代码分析,正在经过了短暂的等待,文件已经被转化成的汇编语言翻译转化成看得懂的C语言代码。
接下来,就是收获的时间了。
调出反汇编程序上自带的全局搜索功能,将刚刚打开文件后点击按钮出现的弹窗的信息‘Incorrect Flag!’输入搜索框。
搜索结果显示存在两个符合条件的结果,第一个结果来自名叫.text的区间,第二个来自.data的区间。
因为秦淮知道.text区间是用来存放代码的,而.data区间是用来存放数据的,所以毫不犹豫的点开了第一个结果。
这是一个用来判断对和错的方法,如果输入正确,就显示‘Congratulations!You found me!’,错误了就显示‘Incorrect Flag!’。
那就很好处理了,只需要处理好判断正确与错误的这段代码,这道题就解出来了。
根据翻译出来的C语言代码显示,在秦淮打开文件,随便输入几个字符后,文件做的工作就是将这几个字符进行一系列的位移加密处理。
最后的结果如果等于某一串字符的话,表示输入正确,否则就是错误。
读懂了文件的核心代码,接下来就是按照它的逻辑,逆着编写出能够得到正确字符串的代码了。
一鼓作气,秦淮直接在桌面上新建了一个文本文档,将后缀名改成python编程文件格式。
不到两分钟的时间,代码就编写完成了,思路非常清楚,中间没有任何的卡顿!
调出系统自带的命令操作符界面,加载刚写好的python脚本,运行!
‘CTF{xXWaL6we8SQ3SCaqAPktbEt86ESPzHkK}’
重新双击打开Crack_Me,将得到的答案输入到方框内,点击确定按钮,直接弹出结果:
‘Congratulations!You found me!’
秦淮看了看右下角的笔记本电脑时间,不多不少,10分钟!
......
双手离开键盘鼠标,秦淮微笑着对汪夏阳说道:“汪学长,你觉得我现在过关了吗,账号还需要注销吗?”
汪夏阳没有第一时间回复秦淮的问题,脸上原来充满不屑的笑容早就消失了。
取而代之的是异常难看的脸色和久久的沉默。
打开白客论坛专属的工具库时候,他就知道自己是踢到铁板了。
尤其是秦淮最后找到文件反汇编后的核心加密代码和自己简洁而又零失误的那一手代码功底。
让他很难相信,这真的是一个非计算机专业的大一新生能完成的事情吗!
这不可能!
在自己的眼皮子底下,仅仅只用了十分钟的时间,而自己,根本就做不出来!
回想自己刚才在众人面前的所作所为,除了因为被打脸而产生的羞辱感外,更是一股怒气直上心头。
他很想拿着眼前这个崭新的机械键盘,狠狠的砸在潘兴朝和陈鸿远两个人的脸上。
自己为什么要听信了他们两个人的话,换来的就是这般的羞辱!
......
贺嘉木的位置是紧挨着秦淮的,所以刚才秦淮的解题过程,他是看的最清楚的。
贺嘉木有关注秦淮的面部表情,他发现秦淮基本上就没有出现过思考的表情,哪怕眉头稍微皱了一下。
看来自己主动提出来做替补的决定是对的,秦淮的实力和自己根本就不在一个水平面上。
他之所以能拿下1600分,是因为给他的题目就那么多,而自己则是因为自己实力就只有1500分。
贺嘉木暗暗的叹了口气。
但是随后,则是用了更加坚定的目光,看向了秦淮。