要让某个游戏(程序)加载我们的MOD,目前有想到的有三种方式:

  • 静态注入:静态注入,即我们HACK入游戏的某个dll,然后修改里面的代码,让程序在运行后加载我们的ModDll,比如U3D的游戏可以直接修改Assembly-CSharp.dll,找到Main脚本然后让他加载我们的东西
  • 动态注入:在游戏运行时,可以通过各种工具(例如EasyHook)Hook到游戏进程,然后强行注入代码启动我们的ModDll,这种方式需要在游戏运行后再手动执行外挂程序Hook,例如各种“游戏XX项修改器”
  • DLL劫持:自己做个dll伪装(名字改成一样的)成某个游戏依赖的dll,然后替换掉原来那个,游戏在启动后会加载我们的伪装dll从而达到目的,例如GTA5的AsiLoader

参考文章:

资源分析:

DEF文件:

利用微软VS控制台自带的dumpbin查看dll的信息

VS自带工具:dumpbin的使用

  • 输入Dumpbin -imports calldll.exe < output.txt,查看它依赖的dll,以及用到的函数名
  • 输入dumpbin –exports dlltest.dll < output.txt,列出它导出函数

HACK入别人的游戏制作做MOD的几种技巧的更多相关文章

  1. 游戏制作之路:一个对我来说可实现的High-end的Mac/iOS游戏制作大概计划

    对于学习一些东西,我比较习惯任务驱动式的学习,也就是说,要事先订好一个目标,要做什么东西,达到什么效果,然后根据自己了解的知识作一个可以实现这个目标的计划. 现在要学的是游戏制作,而且是High-en ...

  2. Cocos2D:塔防游戏制作之旅(十八)

    在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内): [theGame awardGold:200]; 现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人 ...

  3. Unity破窗游戏制作(简易版)

    Unity破窗游戏制作(简易版) 参考:"对不起,我选择摸鱼"-<扫雷>小游戏开发实战,算法.源代码,基于Unity3D开发 - 掘金 (juejin.cn) 到&qu ...

  4. 简易2D横版RPG游戏制作

    Unity学习笔记1 简易2D横版RPG游戏制作 http://m.blog.csdn.net/article/details?id=24601905

  5. QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)

    好了,现在开始记录我学习QT的学习历程 . 本人也不是计算机专业出来的,自学了一点,但还是不好找工作,于是参加了培训,虽然感觉没多学到什么 编程的学习生涯就是不断的看别人的源码,然后自己参考着写写自己 ...

  6. git如何更新fork的repository(Fork一个别人的repository,做了一些改动,再合并别人的更新)

    Fork一个别人的repository,做了一些改动,想提交pull request的时候,发现原先别人的repository已经又有了一些更新了,这个时候想使得自己fork出的repository也 ...

  7. Rpg maker mv角色扮演游戏制作大师简介

    目录 1:简介 2:基本图片展示 3.和js等平台的合作 @(这里写自定义目录标题) 1:简介   <RPG制作大师MV>为<RPG制作大师>的新版本,于18年11月27日登陆 ...

  8. 【flash】关于flash的制作透明gif的一个小技巧

    关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...

  9. 单页应用SPA做SEO的一种清奇的方案

    单页应用SPA做SEO的一种清奇的方案 网上有好几种单页应用转seo的方案,有服务端渲染ssr.有预渲染prerender.google抓AJAX.静态化...这些方案都各有优劣,开发者可以根据不同的 ...

随机推荐

  1. python中无法被转化为set的list[list组成的list]

    arr = [[a],[b]] set(arr) output: Traceback (most recent call last): File "<stdin>", ...

  2. One Person Game ZOJ - 3329(期望dp, 数学)

    There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. ...

  3. [TJOI2015]线性代数(最小割)

    题目描述 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的转置.输出D 题解 观察上面那个式子发现,当一个bij有贡献时当 ...

  4. [JLOI2016/SHOI2016]侦察守卫(树形dp)

    小R和B神正在玩一款游戏.这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地图是一棵有N个节点的树. 游戏中有一种道具叫做侦查守卫,当一名玩家在一个点 ...

  5. socket,tcp,http三者之间的区别和原理

    http.TCP/IP协议与socket之间的区别下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置: 7 应用层 例如HTTP.SMTP.SNMP.FTP.Telnet.SIP ...

  6. 使用selenium 模拟人操作请求网页

    首先要 pip install selenium  安装插件 然后要下载驱动驱动根据你的浏览器 Chrome  selenium 驱动下载地址 http://chromedriver.storage. ...

  7. 用popart构建常染色体单倍型网络(Autosomal haplotypes network construction with popart)

    1)将vcf转化为plink格式,假定输入的vcf文件名为:17893893-17898893.vcf,也可以参考链接:将vcf文件转化为plink格式并且保持phasing状态 /vcftools ...

  8. WPF界面+halcon生成的C#文件

    1.新建WPF应用程序完成后,解决方案资源管理器——引用处右键,添加引用如下两个dll 工具箱,空白处右键,选择项(只添加halcondotnet.dll,位置同上).这样halcon平台的控件就添加 ...

  9. Ubuntu下载报错“文件尺寸不符”

    最近学习openfoam,安装双系统后,根据官网进行安装openfoam,在文件的下载中会出现: “文件尺寸不符” 这个错误是因为网络不好造成的,或是请求的网站无回应. 解决的办法手机打开4G,打开热 ...

  10. IAR STM32 ------ CSTACK HEAP 设置一次可用栈的大小,HardFault_Hander

    CSTACK:限制函数中定义数组的最大值,否则进入HardFault_Hander HEAP:限制动态分配内存(C函数库中的malloc)的大小,不用可以设置为0