我学习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周时间好好实现完例子后你就可以开往制作外挂的旅途了

从学习C++到用C++做外挂相关推荐

  1. python能做软件开发吗-学习Python软件开发能做什么?

    原标题:学习Python软件开发能做什么? 近年来,Python语言可以说是快速抢占了人们的眼球.它以其代码简短.可读性强.适合迅速开发而广泛应用等优点让许多学员想要学习,很多人会问,学习python ...

  2. ExtJs学习笔记(3)_GridPanel[XML做数据源]

    这一节,将学习到除了用JSON做GridPanel的数据源外,还可以使用XML 一.静态示例 1.xml文件内容: <?xml version="1.0" encoding= ...

  3. [学习笔记] Cordova+AmazeUI+React 做个通讯录 - 单页应用 (With Router)

    [学习笔记] Cordova+AmazeUI+React 做个通讯录 系列文章 目录 准备 联系人列表(1) 联系人列表(2) 联系人详情 单页应用 (With Router) 使用 SQLite 传 ...

  4. 学习经验浅谈——论做学习笔记的重要性

    在学习robodk的时候觉得要抓紧时间学习这个软件,笔记做得比较少,但是在做工作总结的时候才发现不知从何开始写起,只能记住最近几章的内容. 总而言之,哪怕是大概做个思维导图,简介一下这章讲了什么也好, ...

  5. [学习笔记] Cordova+AmazeUI+React 做个通讯录 - 使用 SQLite

    [学习笔记] Cordova+AmazeUI+React 做个通讯录 系列文章 目录 准备 联系人列表(1) 联系人列表(2) 联系人详情 单页应用 (With Router) 使用 SQLite 传 ...

  6. pytorch 入门学习使用逻辑斯蒂做二分类-6

    pytorch 入门学习使用逻辑斯蒂做二分类 使用pytorch实现逻辑斯蒂做二分类 import torch import torchvision import numpy as np import ...

  7. 0基础学python做什么工作好-如何快速学习Python编程?可以做什么职业?

    近些年Python热度不减,一直占据编程语言排行榜的前几位.人生苦短,让我们来学一学Pyhotn吧,找到一份满意的工作还是没有问题的. Python语言本身所具有的优势,决定了从事Python学习的开 ...

  8. 什么人才适合学习嵌入式?嵌入式就业做什么?

    什么人才适合学习嵌入式?嵌入式就业做什么? ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦.最 ...

  9. 学习python用哪个app-python做app用什么工具

    利用python开发app需要用到python的一个模块–kivy,kivy是一个开源的,跨平台的Python开发框架,用于开发使用创新的应用程序. 简而言之,这是一个python桌面程序开发框架(类 ...

最新文章

  1. canvars 画花
  2. 吴恩达:关于机器学习职业生涯以及阅读论文的一些建议
  3. iOS开发-UITextField手机号和邮箱验证
  4. Gh0st源码学习(一)前期准备工作
  5. HTML鼠标悬停图片置顶,jquery实现鼠标悬浮停止轮播特效
  6. 【渝粤题库】广东开放大学 质量管理 形成性考核 (2)
  7. C++中 return,break,continue的用法
  8. 解决Windows 7删除执行过的 EXE、Bat文件有延迟的问题
  9. html用排序列表的方式添加,jQuery html表格排序插件tablesorter使用方法详解
  10. 周五送码 | MS08067实验室攻防平台
  11. macOS调整分辨率与HiDPI
  12. UE4 打包之后Mesh没有材质问题
  13. 2.4G无线收发器SI24R1低成本替代CI24R1
  14. 操作系统中的FCFS(First Come First Served)先来先服务算法,java实现
  15. 使用QGIS制作专题地图——上海市游泳馆分布地图
  16. 众人皆阳我独阴,分享与小阳人共同生活一周体验!
  17. KVM虚拟化介绍和安装使用方法
  18. python:从excel中提取高频词生成词云
  19. 云超融合数据中心 CloudFabric
  20. Linux服务器之内存过高解决思路

热门文章

  1. 原生php开发留言板源码
  2. php 错误日志在哪里,thinkphp错误日志在哪
  3. JavaSE - 11 网络编程
  4. java一句话木马_如何使用JSP一句话木马和菜刀木马
  5. 三菱伺服MR-J2S-20A 伺服驱动与编码器接线
  6. 无废话SharePoint入门教程一[SharePoint概述]
  7. java游戏开发(java游戏开发教程)
  8. Android RecyclerView实现瀑布流,图片自适应高度,不闪烁,解决位置交换
  9. FusionCharts Suite XT 3.17.0 Crack
  10. java 搞笑翻译_史上最搞笑神翻译,笑翻网友