这是我的曾经和现在,如果你把它读完,或许能读出我的未来。
平时我很少上看雪论坛,因为我第一次接触看雪论坛的时候,高三就要来了。
真的好遗憾,我多想用高三一路走过来的时光,走进看雪,或者说倘若我能早些来到这里,我会不会不是现在的我了呢?
后来想清楚了,这不过是痴人说梦话。大家应该是第一次见到我,但我很早就在壳界混了。
小时候就喜欢电脑了,学过一点Flash、Dreamweaver、批处理,软件汉化,对系统大体也比较熟悉,做过U盘引导处理,不时DIY一下5233的固件刷刷机,等等。初三的时候我确信有足够的能力去学习编程,然后走上了这条路——我是喜欢它的,至今,也包括以后。
我选择编程语言时,毫不犹豫地选择了汇编。不论是别的什么高级语言,最终都经编译器译为汇编语言执行,调试器里可以看到。它执行速率高效,代码简洁明了,要用汇编写出Win32应用程序,必须依赖对API的调用,要写出大型的程序,汇编会比其它高级语言困难很多。
那时候我15岁,买了本书自己学。这本书里全是Win32汇编程序的例子,没有用于开发DOS程序的那种生涩的汇编代码。同时我在做木马免杀,接触了壳,看了yC的源码,不就按照yC的源码,发布了我的壳,仅仅是在yC源码的基础上稍加修改——这件事是我做的错事,一直在心里过不去。
但也是这件事中,我在汇编编程学习中不断开发壳,也在开发壳的时候不断学习着汇编,二者相辅相成。半年间壳更新过很多次,发布ExeShive V2.0时对于我算是有重大的意义——我基本上看懂了yC壳段代码的意义,了解了原理,在里面加入了很多我自己的代码,此时才算是我在壳界真正的开始。
我的壳,从yC源码走到ExeShld V3.0,回首看看,不知道自己是怎么走过来的。从什么都不懂的小屁孩,到国产免费壳里的新星,我欣慰。
ExeShld,里面包含了我所有创新的技术。
1.或许是比较早使用双进程技术的壳了。我知道过穿山甲的双进程一般是在Mutex有关的函数上做手脚,但我的双进程没有用Mutex,其中有些原理很不一样。后来发现这个技术在KSSD中早有提到= =
2.sysenter直接进入内核。这个技术在中外的各种壳里我还没见过,或许是我孤陋寡闻吧。很早我跟进Ntdll里的Native API,发现sysenter是个神奇的指令。打造无输入表的程序就不再那么费力了,同时无视各种API断点,Cracker看到sysenter的相关代码也会比较费力。
3.我还根据PEiD的花指令特征库,编写了84条花指令,因为是根据PEiD的库写的,所以主要是对PEiD有效。
4.自己编写了个JMP干扰链的生成引擎,在入口点花指令后生成N层JMP干扰链,这不是什么新技术,不过是我自己写的,拿出来给大家分享。
http://bbs.pediy.com/showthread.php?t=163153
5.简单地实现了OEP代码窃取,因为当时想帮某论坛发布专版,做得比较匆忙,能识别的指令不多,这技术还可以继续发展下去。
6.循环修改内存镜像大小为0,防止LordPE转储。
还有运行时自锁定,仿无效PE文件,反虚拟机等功能。
对于我来说,很多实现的功能不值一提,但我亲手用自己喜欢的语言实现了,用在了我的软件里。
我不仅仅开发了ExeShld,还开发了AdvSafe(文件加密)、DrvLdr(驱动加载)、DasDOS(DOS工具箱)、ProcAdm(进程管理)这些软件,我没学过逆向和破解,但懂汇编,用皮肤库的时候破解过SkinMagic、SkinSE这两个皮肤库,学批处理以后破解过QuickBFC,Q堂的辅助,都是很简单的。
但ExeShld V3.0不是个成功的壳,它的兼容性很不好。很多用它加壳后的程序无法运行。不知道是因为我用yC源码作为模版的原因,还是我后面加入的代码稳定性不够。在邦姐的支持下解决了一些引发兼容性不好的问题以后,还是出现很多兼容性的问题,摸不着一点头绪。
从零走到现在也度过了很多困难,所以我不会没有信心解决现在遇到的问题,大不了我全部重写,我不会放弃。ExeShld里,我新技术的加入,让我感觉我走到了一个极点,往后退,或许我的壳会沉没下去;继续走,呵呵,我高三了。
大我初中在市重点,然后高中是保送到了市重点。高一和高二还好,学习之余我还做着我喜欢的事,开发着各种软件包括壳。
到了高三,知道了什么是现实,吃人的不仅仅是人。我做好ExeShld,感觉离梦想近了,却被高三埋没了。每天我6点多醒来,赶去学校,早上5节课,下午3节课,晚上2节课,有的同学还有晚自习,还有2节课。
为了赶时间,晚上把饭菜打包回学校吃,会被校长骂5分钟,说我们制造垃圾,清洁阿姨好辛苦。做火灾疏散演习,给记得拿班牌的班级大大的表扬……等等,常常都有这些可笑的事。
我不知道,现在学的导函数、算双星天体的万有引力、十二水硫酸铝钾、光电效应等有什么用(除非i以后从事这个行业);更何况,当深入了解这些知识的时候会发现,很多书本上的知识是不准确的,甚至是错误的。
我在学校,学会了说话、写字,学会了为人处世,学会了谈吐。谓之“教育”,我想应该是“教之以育”,重在育上。知识是否可以让人受益一生,取决于什么知识和什么人。如果让我用这样有限的生命学我喜欢的行业,我可以成为其中的佼佼者。
任何人,只要有你喜欢的事业,用十年的时间,都能有所成就吧。
初中和初中以前学的是知识更可以称为常识,高中虽然也有一些,而更多的,我们或许一辈子也用不上。
我的老师说过,好好的考高考,自己便有更广阔的选择空间;我妈说,现在的人以文凭看人,所以文凭必须具备。
我理解她们的意思,但除了同龄人,有谁了解我?
学习累,大家都累。但越是不喜欢一件事,做的时候就会越累。对于我,有些我不喜欢或者不情愿做的事,非做也没事,但有些事,做起来我真的要死要活。
我的成绩在学校排180名左右,排名不高,但我在市重点,按照历年的升学情况,前250-300都能上重点大学。稳定在这个名次,一本是可以稳住的。我不知道我上了大学以后是不是会面对碌碌难寻的工作、岗位,但我知道,高三带给我了什么,不仅仅是一堆没用的“知识”。
我喜欢打羽毛球,以前放学会有一个半小时左右的时间打,打到没有一点力气。而现在,有一次同学叫我去打乒乓球,只打了半个小时,感觉和以前打一个半小时的羽毛球一样累。每天回到家,就要九点了,把自己关在房门里,写完作业,补补晚餐(因为晚上有两节课,晚饭是自己在外面吃的,外面的东西再贵也没家里做的好,也不可能经常去大饭馆之类的地方,还免不了地沟油之类的东西),洗个澡什么的,睡到床上就过12点了。
有的学校还要疯狂,每个星期只有半天假,晚上的课上到10点,不论内宿还是外宿。
我不明白这是怎么了,最老的比喻将我们喻为祖国的花朵,我看现在连牛粪都插不上。
看了钟山先生的《高考天问》,人们对此的看法莫衷一是。说我是不爱学习的人,不准确。因为如果说这里的学习指学校的学习,我学得好,是班里的前者。如果说这里的学习指所有,我想我在我喜欢的方面,做得很好。
有时候真的太累,连路都走不直,真不知道哪天会在路上晕倒,甚至希望然后离开这一切。
说我消极,那我如何要积极?试问一个连自己想做的事都做不了,让我如何面对自己,那个最初抱着梦想的我?更多的,是无奈吧。
正在上星期的周五,我的一个兄弟,潮,我发现他最近不对劲,问他怎么了。
他坐我前面,化学课上互相传了一节课的纸条。我知道他的梦想,他喜欢纹身,想当一位纹身师,最好能攒钱开家纹身店。在外国,纹身是一种文化和艺术,在中国……呵呵。他中午说,他中午回去和父母坦白,他不想为了高考拼死拼活,想追求自己喜欢的行业。纹身这行对文凭没什么要求的,因为纹身完全靠的是技术。
他的成绩只在我后面一点,擅长英语,能与一个华侨和加拿大教授谈话谈一个晚上,生物也很厉害,刚拿到全国联赛的名次。对外国文化、心理学等等都有涉足。
他回家坦白了,父亲极力反对,还是带有行业歧视的。他卖掉了电马,向同学借了四百,去他表姐在的一个城市,表姐可以帮他找到工作,他打算工作攒下钱学纹身,然后走上这条路。
他在空间里说:
我不想再浪费自己的时间 自己的生命去强迫自己做自己不想做 做不来的事情
你们可以骂我,可以痛恨我,可以说我是懦夫,可以说我承担不起责任
我嗤之以鼻,我会证明给你们看
对,这条路是难,是很艰辛,但是我愿意走
一个人不能活着没有灵魂,不能没有自己的想法
要是你们想把我的肉体束缚起来,完全做得到
但是我的思想和灵魂是自由的
我不想为了生存而生活
我想为了生活而生活
我想做我自己愿意做并为之努力
对不起,让你们失望了
我不想活得那么无趣 我不知道这有什么错
最后一次和他通电话,我说,你去外地的话,你家长不会再反对你的。他说,不一定。虽然我还是肯定他家长会妥协,但他走的那天晚上,一个人去江边喝酒,发现自己喝不了多少酒了,只能喝一瓶半,路便走不直了。发了一条说说“一壶浊酒尽余欢,江风入心寒。杨柳依旧笑春风,祝君多保重。日当直上九万里,追梦赤子心。”最后我还是哭了,我为他高兴,但更是在哭自己。
最后摇摇晃晃地回到家,五味杂陈。
习惯一个人难过,因为我更早就习惯把开心的一面留给别人。所以别人读不懂我,我尽量去看懂别人。我很累,不论是身,还是心。
我越是不甘学这些没用的东西,越是想学我喜欢的东西,就越将自己推向边缘,或许是万劫不复的边缘。
最后潮的家人不反对他了,他回来了,但不再来学校,考完会考(高中毕业考)就不再考大学,他自由了。
高中毕业考是及其简单的,我们学校历年都不会有一两个不及格。虽然简单,拿A还是有难度的,需要对科目的知识掌握牢固。还有语数英没考,其余科目我拿下了半数的A。
我现在很对不起自己。我差不多半年没碰代码了,具体地说,我对不起我的梦想,我喜欢的事。
一个人,有追逐自己喜欢的事的权利,但当电脑在我面前,触手可及的地方,却不能动弹。
如果给我两年的时间,不,我只要一年,甚至半年,我可以把我的壳做到国内免费壳的顶峰,我真的好没用,但也好无奈,于是剩下的,更多是心酸。
到了高三,我的软件没有再做过,官网也停了,搜索引擎搜索ExeShld基本上不会有任何结果,它埋没了,我开心了,舒服了,真想给自己一巴掌,这样才能面对我的ExeShld。
再此我郑重地说,ExeShld不会因为兼容问题而就此倒下。我不知道我再次按下键盘,重新写起代码会在何时,但那时候,我必将卷土重来,就算面对我的,是近4500行代码的重写,甚至是不再依赖yC对PE文件结构修改部分的代码,全部我都再自己写。
今天我又回到看雪,看到了《软件保护壳技术专题六》
http://bbs.pediy.com/showthread.php?t=66575
又感觉回到了当初的我,那个和曾经在壳里摸爬打滚处处碰壁的我。
而现在的我,苦苦支撑着一切,包括学校的一切,包括周围所有人的期望,包括我自己的梦想,包括不安分的家,等等。
我不知道我全力以赴能否支撑住剩下的219天,越是想追我喜欢的事,我越是等不及,越反感如今的所学,因此,面对同等的学习压力,我可能会比其他人累几倍,但我理解,因为我有所爱,有所恨。
当我再也支撑不下去的时候,我会选择放弃,但绝对不会放弃我爱的事,像潮一样。当我选择了这条路,我还一直喜欢着。就是化成灰,我也要飘完。
我不知道我下次来看雪会是什么时候,不知道心力交瘁的我明天会发生什么,不知道我是该放弃我爱的东西,将一切陪给最后的219天,还是放下这些,走我爱的路。
我只知道,选择后者,我不会后悔。
但我不知道倘若我选择后者,下一步该怎么做?潮他从事纹身,重要的是从个好的师傅掌握技术,但我的这条路,好像不简单呢。
现在我主要掌握的软件保护壳技术有:
1.SysEnter直接进入内核Native API
2.双进程技术
准备研究的技术有:
1.包括VEH在内的一些反调试技术
2.Windows内核驱动开发
ExeShld V3.0.rar
这是ExeShld V3.0,因为兼容性不大好,主程序已经经过自己加壳,可能在电脑上不能正常运行。在我的Win7系统和虚拟机里的XP系统可以正常运行,若不能正常运行,也欢迎把它拽到OD里看看,欢迎在技术板块发表分析、脱文或者建议,谢谢!
一条溪流要不枯竭,只有流入江海。我希望能找个软件保护壳开发的公司或者团队,只要报酬能维持基本的生活就好。当然,或许我还太小,但说小也不小了,就快要18呢。不知道现在想加入什么团队,去找工作是不是为时过早,退一万步说,我这种技术还未必有人要呢。
记得有一年感动中国的宣传片里有一句话,大概意思是:
生活即使充满了变数,但总会有很多不变的东西,我们要把握住这些不变的东西,才能更好地去应对生活中的那些变。
我不知道我的未来会是怎样,但我知道我还爱着什么;我不知道我的技术有多渺小,但我知道我会继续钻研下去并且为之欣慰;我不知道将来我的日子是宽裕还是贫穷,但我知道我在自己选择的路上努力,不会后悔。
不论你支持我,还是责备我,还是笑我,我都感谢你,不仅仅感谢你看完了那么多,更感谢你给了身处黑暗边缘的我,一束光。爱看雪,爱你们,爱身边的所有人。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法