摸爬滚打着学习破解之路--第五章 CRACKME160之五
本帖最后由 niestcheer 于 2022-4-24 22:28 编辑# 摸爬滚打着学习破解之路--第五章CRACKME160之五
## 前言
对了,今天突然想起来一个事情,所以想在这里唠叨两句。昨天跟论坛里一个也是在同步学习的水友有聊到,这160CM都已经被人分享烂了,所以每次发的内容感觉总是很水。还是要跟大家说下我的观点:首先,看别人的成功经验这是很好的习惯,不会的当然得看得学习啊。然后就是我个人发帖的内容逻辑了,细心的朋友会发现,我前面有几篇是搞不定的,而且思路估计还把人带坑里去了。但是那我的真实思路,本来就是希望能让大神看看有哪些地方需要提升的,这个提升当然也包括解题的切入点是否正确。再来就是我都是先自己解题,实在对我很有难度了,我也得去看别人的成功经验,这样比较容易知道自己是从哪里开始就出错了,当然如果是看了别人的内容解题的,我基本上就带过了,就像NAG哪篇的4C大法。最后还有一个问题就是,看了前面几篇的大家估计发现我一直是在用字符串查找的方式在解题,而且还是走的爆破路线,这个对于很多大神来说应该是再简单和基础不过的方式,但是恰恰这个方式如果可行的话,那大家的内容雷同,实在是太正常了,但是即使内容大同小异,过程是我自己的,劳动成果也是我自己的,我为什么不能发布呢?嗯,闲话就到这里吧。
##正题
昨天很自信想去追码研究下,最后以失败告终。所以今天换一个程序来研究下,等后面再去死磕。今天我们向CRACKME之五发起冲击!
---
## CRACKME 编号 5 破解之路
**1. 破解第一步:运行程序,了解我们要破解的程序**
- 下载完解压缩,如下图:
- 江湖惯例,有文档,得先阅读下文档:
- 说说我看完的感觉,就是一个大牛精心准备的程序被砍瓜切菜了,很不服气。然后铆足了劲要再来一轮较量。
- 首先问中提到的SOFTICE或TRW,请原谅我真的不知道是什么意思,然后我去百度了。前面一个单词是调试,但是后面一个缩写百度给我的翻译是天合公司。哈哈,不重要了。
- 再就是他说让我们不要用砍的方式,就是让我们别暴力破解的意思吗?姑且这么理解。我只能说作者的愿望是好的,但是与我的初衷是违背的,我得秉持自己的本心,把暴力破解进行到底。哇哈哈哈!!
- 下面就要运行下程序看一下了。界面如下图:
- 嗯,这次作者没有像他上一个程序一样恶心我们了。没有连一个提交按钮都没给我们了。在我看完界面,打字的这个过程中,中间的三字经图片一致再动啊动的,作者说错了,我连一开始就没觉得图片好看,就是烦人。
- 然后我试了下点注册按钮,没有任何反应,然后还给我个提示“如果你能不用暴力破解注册,你就知道层层设防的意思了”。嗯,但是我不想知道。哈哈
- 点注册按钮没有反应,跟我们以前的程序都不一样啊,大家应该知道,我们好几次是从错误弹框入手的,再加上有前面一个程序的借鉴,我直接在中间三字经位置点了下鼠标,好吧,熟悉的配方它来了。
- 好,既然有了错误弹窗的出现,感觉又回到了我们熟悉的环节啊。
**2. 破解第二步:明确破解目标,确定破解思路**
- 破解目标:绕过错误提示,直接显示进入注册完成的环节。
- 思路当然有字符串还是字符串大法先上,如果字符串搜索不到再考虑别的办法咯。(暂时能想到的是一个弹窗函数可以下断,有两个思路差不多就可以进去开干了。)
- 好,话不多说,开干吧!
**3. 破解第三步: 动手**
- 首先乖乖的查壳。
- 啥?什么意思?加壳了?好吧,我记得论坛里有看过一篇文章提到了老大老二老三。忘记是谁的文章了,请大大原谅我,实在是看的时间有点久远了。
- 所以我们再换一个PE工具再查一遍
- 呀,还真有壳,但是又能读到编程语言?这是什么逻辑?或者只是做了压缩?所以我没打算去找UPX的脱壳工具。虽然好像很多。我的想法还是先丢OD里看看能不能看到字符串再说。
- 程序拖进OD,给我来了个提示,如下图:
- 这个提示是可以预见的,因为不是查了,有壳么。提示这个太正常了。先不管,点确定,然后搜索字符串,字符串界面啥东西都没出来。好吧,加壳的问题还是得解决的。正常来说找个UPX脱壳工具就可以搞定了。不过我有点嫌麻烦,所以我的办法是先让程序运行,代码释放出来以后再搜字符串,运行以后搜索字符串界面如下:
- 图片上我们看到了熟悉的内容了吧,而且跟弹窗文字完全匹配的字符串有4个位置,看来这个程序至少有4个校验。那最好的办法就是直接到成功的位置,看看都有哪些跳转让程序无法执行到成功的位置,都给改了,应该就行了。说干就干。在厉害厉害真厉害的位置双击查看汇编代码,界面如下图:
- 从这里我们可以看到成功代码位置上面一共有5个跳转,你看他们的跳转位置都是同一个位置`0044747F`,而且这个位置刚好在成功代码以下。前面不是说只有4个错误提示,为什么有5个跳转呢?我想是不是又一个就是我啥也不属于点注册那个,毫无反应的情况?先不管这个,直接全部NOP,让跳转不成立。程序主界面确实有了小小的变化,如作者所说。那应该是成功了。但是我的紫霞仙子去哪里了呢?三字经哪有紫霞仙子好看啊。成功界面如下图,具体哪里有小小的变化,大家自己去发现吧。
- 这里有个温馨提示,就是我们没有脱壳,直接破解,然后就算现在我们修改的内容保存到程序,后面再运行程序还是未破解成功的。解决办法有两个,一个是脱壳以后修改。一个是写内存补丁。这些就不演示了,有兴趣的朋友可以在论坛里自行找资料学习。
---
## 昨天的失落,在今天拿到一个新程序三下五除二的快感中有点修复。追码的事情,还是等我看完汇编的课程再继续吧。
---
## 没想到暂停键这么快被按下了。06的程序我已经看了2个小时了,把自己能试的思路都试了个遍,甚至借用了工具直接分析了代码,还是找不到思路。果然看了几集视频就来找虐是不好的,接下来继续学习,等基础再好点,再从06开始。实在不想去看别人的思路硬凑一篇文章,还是要自己想通为什么我的思路不行。乖乖的去补基础课了只能。 huiker231 发表于 2022-4-23 20:20
感觉看明白了一些,就是没有说按那个键,,对于我这个小白来说,有点难,看到温馨提示就更头疼了 ...
因为是一个系列,所以你可以考虑从前面第一章开始看,就知道了。因为有些过程过于重复,我在后面的文章都不会有再出现很细的操作过程,更多的是把过程中的每个想展示的点的内容突出。还有就是关于按哪个键这个问题,得建议你先去学习下OD的基础操作了。然后关于脱壳,这个壳是很简单,网上工具也很多,我也还没有学习到手动脱壳的环节,所以用工具的部分我就不演示了,工具的使用时及其简单的。至于内存补丁,这个也很简单,也是用工具就可以完成的。虽然也自己写简单的代码来实现,但是这也不是我学习的重点,所以我没写过程。如果你感兴趣,相关内容的文章,论坛里也有很多,可以搜索学习一下。 感觉看明白了一些,就是没有说按那个键,{:1_923:},对于我这个小白来说,有点难,看到温馨提示就更头疼了,我以为不脱壳就成功了呢,一看两条路,内存补丁,{:1_909:},这是crackme2之层层设防,破解的路也是一环套一环啊{:1_887:} 我怎么这样认真地看完了 好专业的贴,但可惜作为小白看不懂{:1_923:} 专业贴 我也在正在学习啊 可以啊 受教了 教程写的很细 专业!!!学习了 学习下!!! 很动心 但看不懂