最新网址:www.83zws.com
首页 > 都市言情 > 重生学神有系统 > 第284章 江寒的操作

第284章 江寒的操作(1/2)

目录
好书推荐: 持刀行走的少年 我的加点异能 山村无敌兵王 疯起来连自己都砍 美女校花的绝品战兵 我真不是精灵 全是我干的 一醉平生 万界收藏艺术馆 收藏大赢家

“crackme”是很多逆向论坛里十分流行的玩法。

一些人为了测试自己的软件保护技术,就会制作一些crackme程序,让别人来尝试破解。

网上也经常会有一些kme)竞赛。

根据设计者的意图和加密技术水平,不同的crackme,破解难度天差地远。

江寒点击了一下下载链接,题目给出的crackme,很快就下载了下来。

然后,先将其运行了起来,观察一下程序的外在表现。

这是个文件,界面十分朴素,只提供了两个输入框。

一个用来输入username,另一个用来输入er,序列号),下面还有个【login】按钮,用来检测是否匹配。

看完了这些内容,对程序的结构心里有数之后,江寒就将窗口关掉了。

随后,他就打开了著名的调试工具ollyice,并在调试器中加载了这个crackme。

开始调试之前,先设置个断点。

断点是调试器的一种功能,可以让程序中断在需要的地方,以方便分析。

常用的断点有int3断点、硬件断点、内存断点、消息断点、条件断点等。

例如,就是很常用的消息断点,功能是当鼠标左键抬起时,中断程序运行。

又如getdlgitemtext断点,当程序试图调用windoi,获取输入框里的文本内容时,就会被拦下。

江寒先试着设置了lgitemtexta断点,然后按了下f9,让程序跑了起来。

crackme的窗口出现后,先随便输入一组,然后用鼠标点击了一下【login】按钮。

结果……

程序直接弹出了一个msgbox,提示【用户名和序列号不匹配】。

很遗憾,在这次尝试中,断点并没有发挥作用。

这说明在这个crackme里,并没有使用lgitemtexta来读取字符串。

否则的话,就会被调试器拦截下来,而不会执行关键call了。

所谓关键call,是指程序中用来计算用户名和序列号的函数,通常执行完关键call,很快就能找到一个条件跳转语句。

如果序列号与用户名匹配,就会继续往下执行,否则就弹出出错提示……

接下来,江寒又试了一下断点。

这次终于成功断了下来。

接下来就很简单了,交替使用f7、f8两个快捷键,单步跟踪即可。

这个程序是那种很老实的程序。

意思就是没有什么乱七八糟迷惑人的东西,也没有刻意增加难度,为难挑战者。

以江寒的调试功力,跟踪这么老实的程序,自然是易如反掌。

他只花了3分钟,就找到了关键call。

随后,将这个call语句,设为断点,然后,重新运行。

再次填写序列号、用户名,点【login】……

很快,程序中断在了关键call上。

江寒按了一下f7,进入了函数体内部,这样就看到了一段以ret结尾的反汇编代码。

这段代码的功能,就是根据。

到了这里,就比较考验基本功了,必须读懂反汇编指令。

当然,这对于训练有素的人来说,也是的一件事。

江寒花了十分钟,将算法分析了出来。

看得出来,设计者的确没有故意难为人,算法设计得十分简明。

首先,把64变换,然后对新串中的字符,做ascii码值累加cāo)作,再经过一番算不上十分复杂的数学运算后,就得到了一个新的字符串。

此字符串就是与username对应的sn,其许包含大小写字母和数字,以及一些特殊字符,算法保证其与username对应的唯一……

这道题可以说是白给,只要稍微懂点逆向调试,基本功别太差,一般都能轻松搞定。

江寒估计,官方第一关弄得这么简单,可能只是打算过滤一下参赛者,将那些没事儿来凑闹的人排除掉。

接下来是第二题。

仍然是crackme,但和第一题比起来,难度就突然提高了十倍不止。

什么花指令、虚拟机、静态反汇编、动态反调试……

凡是当前流行的保护手段,几乎一应俱全。

而其核心算法,更是动用了。

83中文网最新地址www.83zws.com

本章未完,点击下一页继续阅读。

目录
新书推荐: 诸天:从吞噬星空成神开始 霍格沃滋:开局满级不可饶恕咒 大明:靖难遗憾?我一梦改之! 从救下同学妈妈开始混富婆圈 这个明星要登月 一人之下,金光化神 魔女小姐,该清理词条了 我的低保,每天到账1000万 两界:我在霍格沃茨留过学 重生千禧:从钓鱼开始发家致富
返回顶部