下载 > 资源分类 >  开发技术 >  C++ > 精灵外挂的源代码

精灵外挂的源代码

2004-06-04 上传大小:123KB
如何用vc++6.0制作精灵外挂(pro版外挂制作详解)(1) 
对于如何自己制作出一个外挂,我结合我的这个pro外挂的制作过程详细讲解一下,希望起到抛砖引玉的作用。 
============================================================ 
外挂原理如下: 
========================================
======================================== 
大家都知道?械兵有??技能能?在一段??中持?起作用,我?????性技能,如他的第1,4,6,7?四?技能. 
本?技能的各??性的??(如??,??等)是存在0244c9f8h?始的一片?存中.但是只要一使用??性技能,程序就?把??性技能的????到02453420h?始的?存中.?一片?存是??的,因?只要??一到就?消失,所以服?器目前不???片?域?查的.可以放心修改. 
改哪些地方比?好呢??於??性技能,有???性很重要,??and效果,??就是技能起作用的??(改?60000).效果X?於不同的技能不同.?於技能1,它是格?率X%(改成100),?於技能4,它是防?力X改成50),?於技能6,它是最大攻?加成X%(根?武器最大攻?修改),?於技能7,它是攻?速度X(改?2~3即可以). 
?在最重要的是,??和效果的地址在哪? 
?於?改?的,又?有高?人物的人??,很?找到.但是只要你有高?的?械兵,???後使用1,6,7三?技能,然後切?到FPE看看?02453420h?始的?容,??不?找到地址. 
?便?一下,技能4是不可以?6,7同?使用的,就是?加了防?,就不能再加攻?了. 

上面???得很清楚了.之所以不把地址直接?出?,是因?我?有大?的?,我怕大?和台??是有差?. 
??改法,?於???的?械??,太完美了.?上盾,拿??金,??. 

那??於其他??怎????度大一?,方法?似,只是要先把自己??的技能改??械的技能.使用後再改回原?的.按照??方法做出?的外?,??太多,恐怕很多人都不知道怎?用.本?,不是自己的?ξ????得陌生.所以我?得大家?是自己?著改一下. 
其?也真的不好做通用外?,有人用3-5的手弩,需要6000%的加成,攻?上限才到300.但是用?金的1600%的加成就?了.?是自己改吧! 
================================================================================ 

对于机械来说,很好改,但是其他职业,由于不知道到底要改哪些地方,一个技能才能完全变成另一个技能。我采取的方法是:把那一整块内存全部改为机械的。基于这个思想,得到这个外挂的制作流程。 
1.用fpe或者其他工具查出当前版本game.exe运行时技能代码的存放位置 
2.取得机械的技能内存,并保存下来。 
3.编写程序进行内存读写。 

第一步,没什么好说的,精灵目前为止所有的版本,技能相关的内存都在 
02400000h~02500000h之间。 
第二步,由于目前没有什么工具可以方便这么做,主要是精灵切换出现的问题,许多工具都不方便使用,我们来自己编一个小程序作这一步。 

1.在 VC++ 6.0 的主选单中选择 File/New 

2.选择开启新的 MFC AppWizard(exe) 

3.在 Project name: 栏位中输入名称 (在此我用 xxx 当范例) 

4.接下来会问你应用程式的型态,选择 " Dialog based " !! 

5.接下来会问你应用程式是否要连结其他的元件,选择内定值即可 

6.接下来会问你是否要在原始程式码中加上注解,选择内定值即可 

7.最後选择完成即可产生 "xxx" 这个应用程式专案 
8.在Cxxxdlg类中加入成员变量m_number,并在构造函数中初始化为0; 

9.选择view菜单的ClassWizard,在CxxxDlg的WM_LBUTTONDOWN消息处添加消息处理函数 
OnLButtonDown,编辑代码如下: 
void CxxxDlg::OnLButtonDown(UINT nFlags, CPoint point) 
{ 

HWND hWnd; // hWnd : 该窗体的 handle 
DWORD dwx; // dwx : 为存放内 ProcessID 的变量地址 
HANDLE hProc; // hProc : 为该程序的进程句柄 

hWnd = ::FindWindow(NULL,"精灵"); 
// 呼叫 FindWindow 这个 Win32 API 来取得 精灵 的 hWnd 

if(!hwnd)MessageBox("game not found!);//精灵未运行 
else{     

::GetWindowThreadProcessId(hWnd,&dwx); 

// 呼叫 GetWindowThreadProcessID 这个 Win32 API 来取得 ProcessID 
// 正常执行无误後,会将 Process ID 存入 dwx 这个位址中 

hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwx); 

// 呼叫 OpenProcess 这个 Win32 API 来取得 Process handle 
// 正常执行无误後,会将 Process handle 存入 hProc 
//   
// 接下来呼叫 WriteProcessMemory 来写入内存时必须要 
// 有该 process 的 hProc 才能写入... 
// 
FILE *fp; 
char buf[0x100000]; 
char filenumber[20]; 
_itoa(m_number,filenumber,10);//转化10进制为字符 

fp=fopen("0x02400000To0x02500000"+"_"+filenumber,"wb"); 
//打开文件用来写
m_number++;//用来计数,因为可能不止读一次 
ReadProcessMemory(hProc, (void *)0x02400000, (void *)buf, 0x100000, NULL); 
//读内存02400000h开始到02500000h结束的内存到buf 
fwrite(buf,1,0x100000,fp); 
//将buf写入文件 
fclose(fp); 
CloseHandle(hProc); 
 } 
} 
使用时,进入游戏,切换出来,用鼠标在程序窗体上点一下即可。 
这是实现最基本功能的代码,也可在此基础上扩展一下功能.就可以做成专门的读取游戏内存的软件了。
...展开收缩
综合评分:3.9(8位用户评分)
直接下载 开通VIP会员 免积分下载

评论共有0条

评论资源

您不能发表评论,可能是以下原因:

登录后才能评论

待评论资源
 

热门专辑

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

CSDN VIP年卡 4000万程序员的必选现在开通,立省522元
下载
img

精灵外挂的源代码

会员到期时间:剩余下载个数:
VIP下载

积分不足!

资源所需积分 当前拥有积分
您可以选择
开通VIP年卡
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img
资源所需积分 当前拥有积分
VIP年卡全年1200个资源免积分下载促销价78元,开通立省522元
下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励20下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: