因为梦想,执着前行。既然起航,注定远方。
希望能结识一些志同道合的朋友。
开篇:
记得看完humourkyo前辈的《一次艰难的渗透纪实》还是2年前的事情了,后来还看了好几遍,每次看完后内心都很激动,有种身临其境的感觉,仿佛重燃往日的激情,无论思路和技术都是我曾追随的东西,黑客之路。
从学计算机开始,我一直对黑客充满向往,而且从未放弃过,上班这几年才接触到渗透,后面写过一些渗透工具,测试过一些站点,有次搞到凌晨5点多,兴奋的睡不着了。这几年改掉了之前的心浮气躁,潜心研究了逆向和调试,分析过系统的一些机制,看过很多书,也渐渐意识到编程的重要性,慢慢提高自己的编程能力,编程在于思维逻辑上的突破。
===我追随的===
黑客的世界:自由、激情。
黑客的能力:编程、逆向、经验、逻辑分析、敏锐洞察力。
-------------------------------------------------------------------------------------------
看到以前的日记,分享一下大学经历,写了一下午,谨以此文与志同道合之士共勉,忆往事。
大一:接触计算机,萌生兴趣。
是否还记得那年U盘下的Recycler?网管cmd attrib操作让内存卡文件现身,敬意油然而生,之前误以为卡坏了,还格式化过。从此我知道了cmd,便到图书馆学习cmd、批处理,偶然看到黑客的书,跑到机房按照教程实践,结果failed,好像是IPC空连接、at命令一类的。室友买了一本flash的书,原来做flash动画这么好玩,按耐不住,立马跑到学校机房(不是免费的)去实践了一把,还记得有天晚上看一个flash游戏的例子看到3点多,似乎懂了ActionScript,其实不然。
还记得某同学用EasyRecovery恢复了老师删掉的考试课件,瞬间觉得好NB。(后话了:为此还研究了一段时间FAT、NTFS数据恢复),有次做实验看到网上说VC++比TC好用,便请教指导我们的研究生师姐,结果被鄙视了,留下一句:“TC都不会,你还用什么VC”,姐,我惹你了吗。- -。还有做实验时用TC运行了网上copy的贪吃蛇代码、去网吧写c语言期末作业。。。。。。。。。
大二:点燃激情。
过年时买了个预装Vista的笔记本,便接触了百度知道,自己的回答被采纳了很开心,后面看金鹰教程,用flashMX2004制作了个很简单动画,但期间出现软件未响应的问题。返校后系统出了点问题,结果学校卖电脑配件的大哥用DM把我的盘全格了(那么多资料),装了个xp系统,还收了我10块钱。哥,我惹你了吗。从此我便疯狂学习装系统,包括一些安装原理,知道了PE、ghost、分区、引导==,也学会了VMware,记得虚拟机里面装了8个系统,以前有人说装系统有什么难的,人人都会,但我不这么认为(至少那位大哥不一定会)。
还记得系统盘里有个拨号密码查看器,会把密码自动保存到硬盘上,本地建一个ftp服务端,写一个bat用ftp命令把拨号密码传过来,最后捆绑发给朋友,结果实验成功了,哦,原来他电脑裸奔的。
不知从何时起,突然对做网站感兴趣了,便开始了html、js、php、wamp之旅。哦,PHP100视频结果不是100集--!。有时候做梦都在想自己以后的网站做起来了,有很多人访问,如何提高pv、ip如何提升流量,说起做网站,这真是一条心酸的路程。。。
进入实验室,进去后知道了MFC这个东西,别人用MFC写的隐藏窗口的程序、局域网聊天的程序都能让我佩服许久,原来计算机这么神奇。在实验室基本上是打酱油,后面去的次数越来越少,发现自己需要自由自在的感觉,便放弃了实验室(当时觉得有点愧对那位老师)。后面我便开始了MFC的学习,当时感觉孙鑫的视频好难,后话了:自己用MFC写了一些没多少技术含量的小软件,不过有个拨号的软件写了很久,升级了很多个版本,还加入了自动升级、加密等功能,有时看到同学用自己的软件还是很有成就感的。
原来玩Java手机游戏可以不要钱,后面从同学那里知道了”破解”,知道了halo,但是有些游戏破解不了,感谢百度知道一哥们让我了解到,原来可以通过halo来修改字节码手动破解。当时自己认为字节码就是代码,那既然能改代码了,我就学Java去,翻遍图书馆,居然在角落里找到了一本“Java虚拟机规范”(名字应该是这个,挺早的了),而且这本书周围都不是计算机相关的。说明坚持寻找,惊喜总会出现。有次上电路实验,坐在地上绕过老师的视线,开始啃这本书(犹如天书一般)。花了半个月,学习J2ME,硬啃Java虚拟机,学习字节码,用jad-gui反编译jar的class文件,找到对应的字节码,再用halo修改打包,最后用kemulator lite模拟器测试,每次破解后都很兴奋,自己也总结了一些防破解、混淆、绕过的东西。还记得有次为了修改一个游戏,用jad-gui看了一天反编译出来的代码,结果发现游戏本身购买的代码存在问题,后面总算添加了自己的代码,绕过了发送短信购买的流程。来来回回研究了很多公司的手机游戏,慢慢总结,勤于思考,想想还是很快乐的。
某英语学习软件,学习时间要算到期末成绩里,自己老想着怎么来改时间,抓包看到通信是明文的,可否模拟欺骗服务器?不会网络编程后面放弃了,后面baidu搜索如何改时间,第一次听说了PE文件、API HOOK,熬了个通宵看了一个API Hook的例子,还是不会,结果这软件是C#写的,按照网上修改导入表什么的浮云了,变速齿轮你总算出现了,顿时觉得这些软件好神奇,看了原理还是云里雾里的。
这年开始疯狂逃课,去上课的话,手上基本上拿的是课外书(计算机相关的书),有次考试都差点忘了,这年与同学一起玩游戏,迷恋CF,经常早上7点爬起来,玩到晚上断电(中午饭还是要吃的,饿得不行了才去),现在聚会时大家都特别怀恋这段时光。
大三:杂而不精。
有了破解手机游戏的经历后,便想如何破解Windows软件,看了天草的视频,知道了OD,脱ASPack壳,反汇编等等概念,慢慢尝试用OD破解一些小软件(jnz nop==),每成功一次还是很兴奋的。后面写keygen需要分析算法,便学习汇编语言,慢慢接触到看雪,一直默默潜水看大牛们的文章(后话:每次看到ccfer,就瞬间重燃逆向的激情,以后一定要见一见前辈)。还是避免不了心浮气躁,有些东西看似简单,自己却没动手去尝试,大多停留在思路上,技术没多大提升。
这年基本上在破解一些小软件,其它时间就翻翻书,每次去图书馆都有意外的收获,0day安全-漏洞分析技术、软件调试、加密与解密第二版、黑客反汇编、Windows内核情景分析、天书夜读《从汇编语言到Windows内核编程》都能在某处发现。看了Windows内核情景分析,以前不知道的东西一下子就清晰了许多,例如CreateProcess、CreateThread原理,毕竟用的ReactOS代码(2k的内核),和XP难免有点差别,便用OD跟踪后发现ntdll这块还是差不多,于是乎可以继续深入,后面才知道有个wrk这么个东西,对照调试win7内核也是不错的,慢慢地对系统内核也有了一些认识。
后面又开始一个人做网站,一直坚持不下来。一个html页面还要兼容ie、chrome、firefox等浏览器,不知道在Dreamweaver中Ctrl + S了多少次,浏览器中刷新了多少次,(后话:断断续续地在大四那年终于完成了这个php+mysql搞的购物系统,解开了这个藏匿已久的心结。) 后面又开始学习手机维修、主板维修,笔记本、台式机主板,搞了一段时间,拆了不少电脑,用万用表学习了一些常规的检测,没继续了,电路图都是迷宫。曾经也想过破解学校的洗衣卡,后面不了了之。
这年接触的东西太多太杂,感觉自己技术上好像没什么进步,唯一的好处是拓宽了眼界。
大四:时间很快,路还很远。
时间很快,毕业是伤感季节。我便毅然走上了安全这条路。求职也不是那么顺利,技术杂而不精,弊端~~~,后面找了一个搞安全的小公司,后面半年多的时间就是吃喝玩乐,等待毕业。
宅,逃课、挂科、没过英语四级、无奖学金、无获奖证书、无妹子,搞电脑到凌晨3点是常事,这就是我的大学生活。
我的大学不像别人那么耀眼,但一个人这一路走来,有过失落、有过心酸、有过激情、有过快乐,这就够了,将这段奋斗的记忆埋在心底,闲暇时光沏杯茶慢慢回味。
个人感悟:
学习需要方法,少走弯路,但有的弯路不得不走,因为只有走了才知道是弯的。
学习需要坚持,坚持才能胜利,亘古不变,不能三分钟热情。
学习需要执着,既然选择了,就一直走下去。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)