前几天上网下了一个桌面软件,是为了比较自己那个easynote做的倒底有多差,于是下了一个日历软件,恩,我很喜欢,透明的界面,农历还有记事提醒我想要的元素都有,尽管有bug。唯一不爽的地方是要注册,而且还不便宜,话说回来了,免费惯了的人一毛钱也不想掏。正巧这几天我正迷破解,ollydbg案头就有。该软件用upx加壳,一去就掉,我本来想手动脱壳的又嫌麻烦。程序是用Dephi编写的,说实话这些编程语言就Dephi没仔细看过。昨天一天毫无进展,dephi和c的参数传递等在汇编语言下差距很大,我试了WM_GETTEXT,ES_GETLINE,GetWindowText,GetDlgItemText拦截都不成功,连窗口过程都没找到,实在没办法,用F8一行行跟进去看罢。其实昨天我已经非常靠近突破点了,但是ollydbg不能自动识别出TControl.GetText,所以几次走在这地方都没留意过去了,到后来几乎可以肯定就在这几段了,但是就是搞不清楚那些Call的函数用来做什么。昨天去看雪注册了一个账号,今天可以发言了,所以今天下午去看了一下午。看了对我触动很大,我本以为自己虽说没写好过一个程序,好歹也看了几十年了,也能算半个高手,结果去到一看,那些比赛的题目几乎一道不会,比如有一道题是写一个程序,既可作普通Exe文件执行,又可以做dll调用,还能当成驱动加载。平心而论,这道题不算太难,但是我基础太差,我只知道编译选项中/subsystem只有windows和console两种,没想到啊,还有这么多选项。这些年都是半瓶子醋。那些被称作大牛、中牛的人所谓传说中的高手有的接触破解甚至也就1年多的时间,我号称是8年呢,连个初学者还不如。在网上看了一会,留意了一下子关于dephi的消息,发现有个叫dede的东西,关于这个de啊好像德语中有,西班牙语也有,今天收到sun system发的一封邮件,竟然是西班牙语的,我还是去年找工作的时候给发了一封邮件。幸好有google,翻译的比金山词霸强多了。dede真是个好东西,尽管界面丑陋,功能很强,很容易定位函数过程,反汇编代码也几乎和w32asm相媲美。更大的好处就是那些调用VCL库中的东西都有名称标注,而不再是数字了。这样看着文字猜就能猜个差不多。其实这个序列号验证非常弱,就是取得后去连接一个aspx,然后返回一个注册成功与否的字符串,然后和预订义的字符串比较,如果没有匹配就注册失败,否则就是成功。呵呵,这样的话,注册机肯定写不出来的,其实就是写出来了我也懒得去分析,于是就是爆破。ollydbg真是一个爆破的好东西。记得以前用softice、trw,找到爆破地址后还要换算一下,找个16位编辑器改pe文件。如今用了ollydbg,头不疼了,手不抽筋了,直接改汇编代码就行,还自动填充nop指令。然后就保存一切搞定,如今我就不用看那个讨厌的未注册3个字了。