从学习C++到用C++做外挂

我学习C++已经2个月了,从语法到sdk到MFC到现在亲手做外挂经历了很多,我把自己的学习过程帖出来,只是希望自己的经历给新手们做个参考,高手不要笑话我了。我把这个过程写成日记,打算边完成这个外挂边更新此帖,如果大家觉得还可以就回下吧,希望高手多提意见,最好能加我讨论。


小新外挂开发日记(一)
以前读书非常喜欢玩游戏,还记得当年每夜通宵,白天趴在桌上"画地图"的日子,现在一晃工作好多年了,日子并没有发生什么改变,也许只是年龄变大了。总希望自己能多挣点钱,靠这车水杯薪的工资连养活自己都很有问题。有天看腾讯新闻,有对夫妇开工作室一年居然赚了500万,羡慕不已,想想自己天天玩游戏,还不如花时间学习做外挂,于是我便开始了制作外挂的旅程。时间是在一个多月前开始的,我自己也是从零开始,希望自己记录下自己学习的过程,以便巩固而知新,也是给如果有相同想法的朋友一个参考,我将会把自己开发过程中的知识、困难以及点滴都写下来,最开始的路也许记得不是很全了,还需大家多多包含。
第一章 准备工作
第一步准备工作是最重要的,先要对外挂的分类有所了解,现在外挂主要有几种,一种是模拟按键操作的,一种是修改封包的,还有一种是模拟客户端的。第一种,实现很简单,像以前那种放炸弹的游戏按键精灵就可以完成,要做得高级点还可以选择模拟精灵,模拟精灵教程与插件是要收费的,但是它可以操作数据库,要是只做模拟动作的话,我建议你用按键精灵就可以了;第二种,修改封包这种外挂就是我准备开发的方向,后面我会做详细的讲解;第三种模拟客户端的,网上别人都叫它做机器人,就是说有它的话都不要客户端了,这就叫脱机外挂,想完成这样的外挂一般是有源代码的人实现的。
我选择做封包了外挂,接着是选择的语言,很多语言都可以开发外挂,个有所长,主流有C++,DEPHI,C#,VB等。我的选择是vb或c++,但是vb对指针很受限制,我最终选择的是C++开发。
选择C++所需要具备的工具主要是Microsoft Visual C++ 6.0。当然最好也准备EDITPLUS与UltraEdit备用,这2个强大的文本编辑器有各自的用途。当然后期对于汇编的反编译与开发还需要其他工具,先不说那么多了。你最关键需要一份信心、一份耐心,做外挂从来都是很痛苦、很艰辛的一件事,唯有你能御驾崎岖时方才能享受到成功后的喜悦。
我再说一下基础功底的问题,千万不用怕基础不够,你需要的是持之以恒的学习与信心,这个事情就不会难倒你,C++的基础我也没有多少,以前在大学的时候学过基础语法,连指针那块都没有听懂,大家也不用畏惧底子太差的问题了,没有学过编程的兄弟可能要花1,2个星期学习下基础,在脑海中留点印象就好了,现在知识太多而杂,我的学习方法通常是"不求甚解",你也可以参考下。
来源:(http://blog.sina.com.cn/s/blog_5f5455450100escm.html) - 从学习C++到用C++做外挂_sunny_新浪博客

第二章 学习、学习、再学习

当你了解了C++语法后,你发现其实你什么都干不了,你去问下读过计算机专业的学生,会不会C++很多人都会,但是要他们做东西大部分是做不出来的,这是因为你光学C++是没有用的,这就象你学葵花宝典一样,"如只自宫,必不成功"。学完C++后就要开始学习windows编程了,只有学会了 windows编程,你才能说入了门。

2.1 初学《windows程序设计 第5版》
当我用一个星期回顾完C++后,我就开始了学习WINDOWS编程,首先要选择好入门的书籍,在百度中搜索了一大把,最终选择了我的第一本书,被称为 WINDOWS教父之作的《windows程序设计第5版》,我在网上下了电子书,后面还在网上花了160¥买了本盗版书(该书早就停产了),用了两个星期左右边学边做,这本书主要讲的是关于 windows界面的原理,书中的例子不好说,虽然基础但是没有太多实用性(对于外挂程序来说),这个作为界面编写的参考书那是相当好了。当学完这个以后基本上能做出简单的界面程序了,这对初学者的信心还是很有帮助的。
从现在学习倒过来看这本书,我觉得前期你所要认识到Windows简史、WINDOWS环境,这些对你来说主要是提高了解,提高信心。接着我个人认为前期你最好花一个星期的时间全部都预览一遍,不要看得太仔细,太钻了,因为这本书实在太厚了,讲的方面很多,一开始你就全部都看懂是不太现实的。第二周的时候我建议选学几章对于你觉得重要的章节了解,并能在你的电脑中编写跟他功能相同的代码实现,不要复制、粘贴,要自己尝试去敲,其中你会发现很多问题的,这是我的学习方法,你可以按照你自己的套路来。我个人推荐你主要看开始、Unicode、窗口和消息、子窗口、对话框这几章,只要把这几章过了,这本书其他的方面你用到的时候再来仔细看,把这本书当一本权威的参考书是最好不过了,我想在这个过程中,你应该能初步了解到windows api的开发,没错,这个就是根本,C++类库加windows api就可以完成伟大的计算机程式,这两周中你应该已经学会了最最最基础的知识了。

2.1 再学《windows核心编程》
学完《windows程序设计第5版》以后,自己只能编写出很简单的窗口程序,对于windows消息机制有一定的认识,对windows底层机制还不是很懂,为了了解到 windows底层在网上搜罗了很多资料,《windows核心编程》在网上评价很高,这本书讲解了windows的用户模式与内核模式,内核模式是晋身阶级了,第一阶段把用户模式搞定就很不错了。
这本书讲的很详细很深,第一次看很多都看不懂,多看几遍是很有必要的,当对windows了解越深的时候就会了解到其书真的可谓是博大精深了,像很多很多讲windows底层的书都有大部分出自或者参考的都是此书。
此书前4个部分在初期都很重要,第一部分是基础,多多了解有益无害,而且往往不会太难学;第二部分对于第7,8,9,10,11,12章内容等以后开发多线程应用的时候再仔细学,不要被难在这里耗费太多时间;第三部分除了第16、18章你要略懂外,其他的一定要认识到原理;第四部分是经常要用到的,到你后期的不懂了还可以再来看这部分,挂接其他进程、dll编程这些都是重中之重,如果能吃透更好了;第五部分其实是很有用的,只是前期要懂的太多了,这一块可以放到以后再学,异常处理机制能让你的错误处理掉很多BUG,也让你在程序出错的给予补救;后面几章选读,发送窗口消息你应该是早需要知道的,其他的选学了。
这本书我看了3遍,例子没有敲,这都是底层的知识,在于了解、理解它的机制,推荐你用2~3周时间来学习这本书。如果你能吃透这本书,你已经是小有所成,能学完我说的那几章,对于开发外挂来说理念是没太大问题的,只是编程很多细节需要查资料了。
小新外挂开发日记(四)

2.3 再学《windows程序设计 第2版》
前期已经准备了5~6周的基础垫底了,接下来我们要做点成果了。单单靠基础你自己就能做应用也是比较困难的,就像练武功,你学会了马步、招式,但是你没有套路你的功夫那只是花拳绣腿。这时候你需要能教你能打出组合拳的套路。《windows程序设计第2版》是不二选择,这个第2版不是第5版的教父写的,而是我们中国人自己的作品。
大家不要看不起咋自己的实力啊,几次的黑客战争中国的名声可不小的,网上有很多人说《windows程序设计第5版》比国人写的好,也是有道理的,别人是宗师嘛!其实2本书都满好的,只是他们讲的出发点不同,外国人讲的是windows(即窗口,注意这里不是代表windows系统)的原理,我们中国讲的是应用程序原理。
当我们自己要做应用时,可以参考《windows程序设计第2版》的例子,他的例子都很有实用性,而前面二本书的例子具有参考性,都是很宝贵的资源。
这本书我花了59*0.75¥买的,已经被我翻的很旧了,其中讲的知识都很有代表性哦,讲得比较精辟,它没有其它书讲的那么深,但是给出了一种实现方法,你想使用其它的方法实现只用改掉那一部分就可以了,原理还是一样的。关于这本书的学习每一章都很重要,我是除了MFC部分略看外其它的都是非常认真的看了。
我建议你花10天讲这本书从头到尾都看一遍,接着要认真去模仿书中的例子,它的例子都不长,其实自己敲也要不了多长时间,关于资源文件你拷贝它的就可以了。利用1周时间好好实现完例子后你就可以开往制作外挂的旅途了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章