随梦书屋 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

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

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

网上也经常会有一些CM(CrackMe)竞赛,一些安全软件公司,偶尔会在这种比赛中,选拔可用的员工。

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

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

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

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

一个用来输入UserName(用户名),另一个用来输入SN(serialnumber,序列号),下面还有个【Login】按钮,用来检测UserName和SN是否匹配。

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

随后,他就打开了着名的调试工具OllyICE,加载了CrackMe.exe。

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

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

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

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

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

江寒先试着设置了GetDlgItemText和GetDlgItemTextA断点,然后按了下F9,让程序跑了起来。

CrackMe的窗口出现后,先随便输入一组UserName和SN,然后用鼠标点击了一下【Login】按钮。

结果……

程序直接弹出了一个MsgBOX(消息框),提示【用户名和序列号不匹配】。

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

这说明在这个CrackMe里,并没有使用GetDlgItemText或者GetDlgItemTextA来读取字符串。

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

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

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

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

这次终于成功断了下来。

接下来就很简单了,交替使用F7(步入)、F8(步过)两个快捷键,单步跟踪即可。

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

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

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

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

随后就将这个Call语句设为断点,再按下Ctrl+F2,重新运行CrackMe。

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

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

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

这段代码的功能,就是根据UserName计算SN(序列号)。

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

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

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

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

首先,把UserName进行BASE64变换,然后对新串中的字符,做ASCII码值累加操作,再经过一番算不上十分复杂的数学运算后,就得到了一个新的字符串。

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

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

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

接下来是第二题。

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

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

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

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

也就是主办方还算有点良心,没用出RSA2048这种大杀器,否则大家比的就不是逆向水平,而是计算机的性能了。

江寒足足用了二十分钟,才计算出了正确的SN,通过了这一关。

随后,他就一道题、一道题,连续挑战了下去。

越往后,题目的难度越高,花费的时间自然也会稍微长一些。

不光只有CrackMe,还有一些别的玩法,比如破解个虚拟账号系统的密码之类的。

最有趣的是第5题。

目标数据在内存中构成了一个虚拟魔方,并根据UserName随机打乱。

要求构建一个字符串,用此字符串的二进制序列,作为操作指令,让这个魔方复原。

令人发指的是,这个魔方不但高达11阶,还有随机生成的“块坏”!

坏块的意思是,你看不到它的“颜色”,但如果不能放在正确的位置,就不能通过最后的检测。

江寒还得额外写个魔方通解程序,将这个虚拟魔方转放进去,用穷举法求解出复原过程,然后才能根据要求,构造出对应的字符串……

就这样,直到下午3点,江寒才终于解决掉了前6道题,来到了最终关门前。

奖金也顺利地到手了1.5万美元。

为什么是1.5万?

第四题做完之后,江寒才发现,原来那道题的奖金,只有前1000位破解者,才能认领。

好在后面的题目越来越难,过关的人也越来越少,才没被其他人把奖金全都抢光。

最终关。

江寒满怀期待地点了进去。

题目是一个单片机ROM,要求破解其加密机制,并提交Dump出来的无加密ROM。

江寒按照要求,下载了目标ROM。

然后祭出调试工具,加载进来一看,顿时就傻眼了。

我了个去,这不就是自己的坏苹果吗?

KAGGLE也算世界知名平台了,居然用坏苹果作为压轴。

怪不得奖金那么高呢,主办方没准根本就没打算掏这笔钱。

不过,千不该、万不该,你们不该一声不吭地,就用了咱的坏苹果。

更不应该的,居然还邀请了我这个“发明人”,来参加这次的锦标赛!

江寒偷笑了两声,然后果断从硬盘中,翻出了一个文件,上传到了答题区。

不是别的,正是坏苹果的原始ROM文件。

想到KAGGLE里负责这个比赛的人,看到了这个文件之后,种种可能的精彩表情,江寒忍不住嘿嘿一笑。

接下来,就要看KAGGLE官方,到底舍不舍得那500万了……

感觉已经有点饿了,他就关掉了电脑,打算先去做个饭,解决一下温饱问题。

然后,又饱又暖的时候……

江寒刚走到厨房门口,却忽然顿住了身形。

有点不对!

今天又是在“HackMe”里闯关,又是玩CrackMe,大脑持续高强度地运转了整整一天。

可是,居然一点疲倦的感觉都没有?!

按照以往的经验,像是这种用脑强度,不吃个三条、五条冰岛红极参,只怕很长时间都缓不过来。

然而,今天的状态却好得有点出奇。

这到底是怎么回事?

难道……小媳妇不但能帮咱充灵感,还能给咱的大脑充能?

这有点不太科学吧?

类似那种喜闻乐见的活动,不增加能量消耗就不错了……

江寒忽然心中一动,连忙打开了系统UI。

看着龙飞凤舞的【学者】二字,以及紧随其后的一串小星星,如同呼吸灯一般,一闪一闪……

江寒不禁若有所悟。

随梦书屋推荐阅读:豪婿韩三千赵旭李晴晴都市极品医神叶辰全集免费韩三千苏迎夏最新章节我能把梦中的一切带入现实爱你成瘾:偏执霸总的罪妻叶君临李子染全文免费阅读战皇怪医圣手叶皓轩邪御天娇叶君临李子染全文免费韩三千苏迎夏全部目录都市之最强狂兵完整版斗天武神偏执总裁替罪妻免费阅读全文萌宝驾到:爹地投降吧校花的贴身高手暴力丹尊叶君临李子染全文免费阅读笔趣阁小说叶君临李子染全文免费阅读凌依然萧子期穿越长姐持家农门医妻有点甜我在霸总文里直播普法叶辰萧初然最新章节更新珠光宝器兽世穿今,娇软雌性她杀疯了乔梁叶心仪荒野求生之我的运气有亿点好权欲场重生八零甜蜜军婚都市医道高手夭寿,我才八个月,系统迟到六十年?高手下山:我不当赘婿印卡是游戏王的一部分我的绝色总裁未婚妻(神级龙卫)我老婆是冰山女总裁璀璨星途修仙新闻血妖姬不灭战神镇国战神叶君临李子染御姐师父带我赛博抓鬼豪婿战神叶君临李子染免费卫我河山陈黄皮叶红鱼全文免费阅读正版特战医王80年代剽悍土着女娱乐:摆烂的我要发力了!我家有绝世女战神
随梦书屋搜藏榜:带着包子去捉鬼从陵墓中苏醒的强者大小姐偷偷给我生个娃独宠名门前妻女配升级攻略:医蛊王妃农家丑妻宋不凡的超级系统怕什么,我有无敌空间洛少霸道:娇妻哪里逃被渣后她嫁给了九千岁兵之王者契约农妃的马甲又被扒了什么流量艺人,我是实力派山村野花开神说你要对女人负责极品龙婿终极一班:重生成雷克斯重生之丁二狗的别样生活异界之学徒巫妖和步行骑士过气歌手出走半生,归来仍是巨星万古长空一朝风月重生之人渣反派自救系统高山果园炼狱孤行者转生成兽娘被神收编了陌上花开我要当影后保护校花半世浮生半世殇重生八零我每天靠败家躺赢敢霸凌我妹妹:那就杀个痛快!闹婚之宠妻如命极品警察穿越之黎明的秦重生之低调富翁他似春火燎原娱乐:表白失败后,拒绝当舔狗!小青梅她有点难追转职人皇,技能变态点很合理吧穿成癌症老头,还好我有遗愿清单前妻好可口:首席,别闹男神娇宠之医妻通灵民国,我在淞沪打造特战旅弃妃无双[综+剑三]明眸善媚都市妖孽狂兵灵启都市纪元:佣兵的平凡幻变灵气复苏:我走向无敌路他今夜又来撒野了这只皇帝会读心穿书后我渣了偏执大佬
随梦书屋最新小说:高武:刚被校花甩后,系统竟让我当保安?都市:激活神算系统,算天,算地,算众生!新婚夜你找白月光,我走上巅峰你悔什么?怀了白月光的孩子,还缠着我干什么?无限之超凡游戏豪门弃少!手机连未来,破产又何妨妻子出轨之后,跪着求我原谅重生1996,从打猎开始发家致富重生后我只做正确选择全球抽卡,我的保底自带万倍增幅重生2001,我能掌控生死重生急诊医生:从挽救市长千金开始医武双绝:高冷总裁求我别装了重生70,从深山采药开始致富和女房东同居后,我看到隐藏信息我,满级舅舅,十六个外甥争宠!玩转宇宙之我是宇宙掌控者女帝跨界求购,我的保险太香了重生1961,我有狼王分身折纸师弱?六千亿起爆符听过没?重生年代:开局接盘美艳大姨子乡村逍遥小仙医全家战死,无敌的我杀疯了!灵气爆发,我把万魂幡上交国家拒绝S级,我觉醒天庭反骨仔哪吒被赶出家门后,我靠打猎赚十个亿博物馆实习生,开局被误认为邪神外卖小哥的温柔女房东留子已是星际第一,啥时接我回家大学报道,军训教官见我立正敬礼每天一个系统宝箱,助我超神鉴宝:被绿后,我能看到物品属性我在香江具现武道神话败好感抽词条,白丝校花带头求饶我的故事会法外狂徒:观众席上,被判十年高武:苟在学校的我怎么无敌了?地摊神医:开局被城管追着跑穿越1665,我的黑科技暴打列强婚书是你要撕的,我无敌后你又后悔了?高武:刚满十八,你让我中年逆袭?亮剑:打造兵工厂,这火力有点猛重生八零:开局女知青悔婚,反手迎娶她闺蜜人生模拟:女剑仙跨界寻我身高万米,还说你不是灭世巨兽?游戏通异世,我娇养了一堆女帝老婆高冷妻子求我别走出狱后,绝色未婚妻疯狂倒贴我我在哥谭当法医