Nx3sdHy 发表于 2014-10-20 02:46

crackme破解笔记(3)

本帖最后由 Nx3sdHy 于 2014-10-20 03:28 编辑

说明:

此文为逆向cm的一个笔记,记录一路的成长,因为我本身就是一个新手,所以笔记会从一个新手的角度出发,所以适合和我一样刚接触逆向的新手学习。

由于本人工作原因及水平有限,有可能每天更新,也有可能每周更新,每月,每年。。 请见谅。

笔记中有任何错误的地方也请大家多多指正!

笔记中用到的cm大部分来自适合新手逆向的160个cm。


老规矩,peid查壳,虽然一般cm是不加壳的。。。无壳,vb的程序,那么我们od载入他吧!载入程序后,看到程序界面上的提示 kill the nag & find the serial (去掉nag窗口 找到注册码)
找注册码这里就不赘述了,找到关键跳后去代码段首下断,f8单步跟,代码比较长,需要点耐心,遇到敏感字符就记录下来,不太明白的可以看我的前两个笔记。重点来了,kill the nag,去掉软件的nag窗口。这个程序载入后,会出现一个持续一段时间的nag的窗口。
我们如何去掉他呢,这里我们要用到到VBExplorer ,它的前身为VBEditor,它是一个反编译VB程序的应用程序,我们在VBExplorer 中打开这个cm,之后我们来查找一些我们需要的东西,如图:
通过这个可以看出来,先是载入了一个form,这个form的运行用时间函数来控制,时间周期为7000毫秒,直接修改一下时间周期来看看,没有效果。。。 那我们od载入它载入后我们下断bp SetTimer (注意函数的大小写一定要对)这是下的时间函数断点。之后我们运行程序,断了下来:
看来没错了,timeout就是作者设置的时间周期,7000毫秒,也就是7秒,我们改成0,运行它。
修改后运行确实没有了nag,但是这尼玛在系统领空,保存不了修改,怎么办呢,祭出c32asm,c32是一个强大的反汇编分析软件,支持反汇编模式,16进制模式,是静态分析的神器。打开c32,直接将程序拖入,选择16进制模式,我们搜索581b,这是7000的16进制代码:
这时有人可能会问,7000的16进制代码是1b58啊,怎么搜索581b呢,这里我也查了一下资料:
多字节数据存放顺序与CPU有关,微处理器中的存放顺序有正序(Big-Endian)和逆序(Little-Endian)之分。常见的Intel系列使用的编码方式属于Little-Endian类;某些RISC架构的CPU,如IBM的Power-PC等属于Big-Endian类。
两种编码区别:
●Big-Endian:高位字节存入低地址,低位字节存入高地址,依次排列。
●Little-Endian:低位字节存入低地址,高位字节存入高地址,反序排列

这下大家应该知道为什么搜索581b了吧!这里我改为0100也就是1毫秒,为什么不改成0000呢,因为我测试过,改成0000会让时间周期事件停止,导致一直停在nag画面。。。。。。


改好后我们保存出来新的exe运行,发现还是有些小毛病,因为即使是1毫秒,他也会显示出1毫秒的nag窗口,所以我们再回到VBExplorer,载入修改后的程序,将nag的窗口长宽大小改为0。


ok,我们看不到那1毫秒转瞬消失的nag窗口了,到此成功kill了这个nag窗口。

其实我觉得这不算完美的kill,因为程序有1豪秒载入nag的过程,但我们看不出来而已,希望有研究过这个cm的朋友再给出一些方法,比如直接hook补丁。

总结:
SetTimer断点的使用
VBExplorer的使用
C32的使用
了解多字符在cpu中的存放顺序

笔记中的任何问题可以私聊我交流,欢迎大家与我交流。



Shark恒 发表于 2014-10-20 03:18

虽然是CM,但是我觉得你这个经验总结的非常好,而且描述很清晰,我要给你精华!加油,鹏飞!{:6_222:}

Nx3sdHy 发表于 2014-10-20 03:19

Shark恒 发表于 2014-10-20 03:18
虽然是CM,但是我觉得你这个经验总结的非常好,而且描述很清晰,我要给你精华!加油,鹏飞!

{:5_121:}老师我会继续努力的。

Shark恒 发表于 2014-10-20 03:21

Nx3sdHy 发表于 2014-10-20 03:19
老师我会继续努力的。

对了,记得上传每一次的课件,加到附件里,大家想尝试的可以下载。

Nx3sdHy 发表于 2014-10-20 03:25

Shark恒 发表于 2014-10-20 03:21
对了,记得上传每一次的课件,加到附件里,大家想尝试的可以下载。

好的老师。

轮回 发表于 2014-10-20 03:26

很好的文章。。。期待楼主继续更新。。。讲的非常非常细致,分析的思路也很明确,

zx2cwf 发表于 2014-10-20 06:45

真是写的很棒

战股神 发表于 2014-10-20 07:14

楼主再造福社会,你的事迹将受到后人追捧!

彩虹 发表于 2014-10-20 08:02

我就喜欢这种分析详尽的cm,这对我们这些新手可以学到很多,继续支持你,希望再继续发好的cm

daily 发表于 2014-10-20 09:25

感谢楼主分享
页: [1] 2 3 4 5
查看完整版本: crackme逆向笔记(3)