调用游戏dll里面的汇编函数

C语言 游戏远程call调用,游戏函数调用及内嵌CALL细节须知 在针对游戏制作一些辅助工具时,除了修改游戏数据外,很多情况是直接通过call游戏函数来实现对应功能,例如频道喊话、打坐修炼等功能。那么如何做到正确的游戏函数调用呢?我认为应该从参数确定、堆栈平衡、上下文环境保护、函数返回值等几个方面来考虑。1、参数确定参数确定一般需考虑参数个数、否有寄存器传值、是否有this指针以及是否其他隐含信息等几个方面。我们现在对这几个方面逐一讲解。1)、参数个数方法一:函... 阅读详情
// myLoadLibrary.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{

    typedef WORD (*pEncryptBuffer)(WORD wMainCmdID, WORD wSubCmdID, void * pData, WORD wDataSize);
    unsigned char mycbDataBuffer[16384]="\x03\x00\x06\x06\x39\x00\x32\x00\x30\x00\x33\x00\x41\x00\x37\x00\x41\x00\x36\x00\x31\x00\x46\x00\x38\x00\x33\x00\x30\x00\x32\x00\x42\x00\x32\x00\x31\x00\x41\x00\x44\x00\x33\x00\x41\x00\x33\x00\x43\x00\x37\x00\x42\x00\x35\x00\x31\x00\x46\x00\x35\x00\x34\x00\x34\x00\x34\x00\x00\x00\x33\x00\x41\x00\x38\x00\x31\x00\x42\x00\x36\x00\x31\x00\x45\x00\x34\x00\x42\x00\x43\x00\x39\x00\x31\x00\x32\x00\x46\x00\x42\x00\x44\x00\x30\x00\x30\x00\x34\x00\x30\x00\x31\x00\x41\x00\x31\x00\x43\x00\x41\x00\x44\x00\x32\x00\x34\x00\x38\x00\x30\x00\x45\x00\x00\x00\x34\x00\x35\x00\x34\x00\x36\x00\x33\x00\x35\x00\x38\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFE\xFF\xFF\xFF\xFE\xFF\xFF\xFF\xFC\x04\x00\x00\x51\x01\x00\x00\x0C\x00\x00\x00\x01\x00\x00\x00\x03\x05";
    WORD mywDataSize=0;
    unsigned char ecxaddress[16384]="\x24\x45\x0E\x04\x07";

    HMODULE hDLLServiceCore = LoadLibrary("C:\\vc\\OriginalWHSocketEncrypt\\ServiceCore.dll");  
    HMODULE hDLL = LoadLibrary("C:\\vc\\OriginalWHSocketEncrypt\\WHSocket.dll"); //加载dll文件
    if(hDLL != NULL)  
    {  
        int kkk=(int)hDLL+0x14d0;
        pEncryptBuffer myEncryptBuffer=pEncryptBuffer(kkk);
        if(myEncryptBuffer != NULL)  
        {   

            mywDataSize=0xc9;
            __asm
            {
                mov ax,mywDataSize
                push eax
                lea eax,mycbDataBuffer
                push eax
                push 2
                push 1
                lea ecx,ecxaddress
                mov eax,myEncryptBuffer
                call eax
            }
        }  

        FreeLibrary(hDLL);  
    }  
    else  
    {  
        std::cout<<"Cannot Find "<<"testdll"<<std::endl;  
    }  
 
    return 0;
}

C语言人造指针,CE自动汇编:AA引擎通用DLL CE自动汇编直译器: AA引擎 各语言通用DLL - aa_engine.dll三个函数, 原型如下:1). 运行CE AA脚本bool AutoAssemble(HANDLE hProcess, char * aa_script, int command);1). hProcess: 游戏句柄2). aa_script: CE AA(自动汇编)脚本3). command: 1为运行[ENABLE... 阅读详情

相关推荐

游戏安全逆向工程师:从入门到精通83课分享

游戏安全逆向工程师—01.简单的介绍一下DLL是怎样的一种存在 游戏安全逆向工程师—02.Windows.API编程速成-环境搭建 游戏安全逆向工程师—03.Windows_API是什么东西 游戏安全逆向工程师—04.C-C++调用Windows.API编程方法速成 游戏安全逆向工程师—05.C-C++调用Windows.API编程方法补充:GetLastError返回值 游戏安全逆向工程师—06.易语言调用Windows.API编程方法速成 游戏安全逆向工程师—07.C-C++编写DLL速成, 游戏安全逆

qq_50390093的博客 2944

网狐荣耀WHSocket.dll

网狐荣耀的WHSocket.dll组件,用于解决无法连接登录服务器问题

逆向实战:从CreateRemoteThread到DLL注入,安全调用游戏内CALL的完整流程与避坑指南

本文详细介绍了从CreateRemoteThread到DLL注入的安全调用游戏内CALL的完整流程,涵盖逆向工程的核心技术。通过封装汇编代码为DLL模块、绕过游戏安全检测及确保线程安全等关键步骤,提供了一套高效稳定的解决方案,适用于游戏逆向工程开发。

weixin_30732487的博客 447

汇编内存加载DLL-易语言

网上已经有一个版本,也是用了很多年了吧,比我这个方便很多,只需要填写一个参数 不过远程的好像目前网上流传的在win10都会蹦,我这个稍微改一下就能用来远程注入了 我懒得写自动寻址,自己填写几个API地址就可以用了(源码已经写好,导入 精易模块 即可)

给网游写一个挂吧(四) – 调用游戏函数

前面的文章给网游写一个挂吧 – 启动外挂上或给网游写一个挂吧 – 启动外挂下将外挂启动后,那就可以进行读写游戏内存和调用游戏的一些操作了。   读写内存很简单,如果是内挂的话,因为是运行在进程内,甚至都可以使用普通的指针操作就可以了,本文介绍调用游戏内部函数的方法,这里以WOW为例解释调用过程,方法可以在WOW 3.x上使用,大家可以建个私服试试。   我们知道WOW里有很多的宏,玩家可以...

weixin_34353714的博客 287

在C++中嵌入汇编实现DLL注入

实现DLL注入的方法已经很多了,也都比较成熟,用的最多的方法是通过远程线程进行线程注入,然后导入Dll文件。远程线程里有两个关键技术需要解决,一个是全局变量和字符串的存取问题,另一个是地址重定位问题。如果用汇编来实现这两个问题是很简单的,但在高级语言中就显得有点笨拙了。以前有一篇用...

chuluo3352的博客 1645

网狐荣耀连接服务端时提示“尝试了所有的服务器都无法成功连接服务器,请留意网站维护公告”

出现这个提醒一般有几个原因: 请检查登录服务器是否成功开启 检查连接服务器的IP是否填写正确 如果前面两个都没有问题,那就是WHSocket.dll的问题,这点是最有可能的,也是最容易忽略的,解决办法是将网络服务的SocketData.cpp文件中的CompressBuffer()方法return掉。 至此,无法连接服务器的问题就能完美解决了,没有网络服务源代码的,可以到我的博客直接下载WHSocket.dll组件来用。 ...

cxf502的专栏 475

一段调用游戏call的代码

这段代码是注入的DLL中的一个键盘钩子里的函数ULONG qqgroup15508958;static LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam) {    if (HC_ACTION == nCode)    {        if (wParam == VK_ADD) 

zzz822163的专栏 2715

外挂制作之------游戏DLL注入

先谈下游戏游戏每个动作都会调用函数。比方游戏设计人员是这样设计游戏的:void zhixing() //执行函数{        dazuo();        .......  //@1}void dazuo() //打坐函数{      jimi("...."); //加密

hmc1985的专栏 1万+

游戏安全反汇编分析开启取消自动攻击call

游戏安全反汇编分析开启取消自动攻击call。在ws2_32.dll.send方法下断点,找到数据包地址(该方法不适合数据包地址变动的情况),对数据包地址下写入硬件断点H1,取消send方法断点避免干扰断点H1正常断下要找的游戏自动攻击动作。

技术工兵 1608

[2019红帽杯]Snake

题目:[2019红帽杯]Snake 0x01 分析 程序是个unity游戏。 把Snake\Snake_Data\Managed目录下的Assembly-CSharp.dll放到dnSpy里面反汇编看看,发现了导入外部interface动态链接库,且GameObject主函数就在这个库中。 现在来看看这个函数是如何被使用的,选中GameObject函数,右键点击分析,弹出的分析器中双击可以看出向这个函数传入了一个坐标参数。 找到Plugins下的Interface 64位 ida64查看,在str

m0_46296905的博客 765

从加密Call到功能实现:手把手教你复制《幻想神域》封包加密函数到自己的DLL

本文详细介绍了如何通过逆向工程将《幻想神域》的封包加密函数移植到独立DLL中,实现游戏外挂开发中的加密call功能。从封包结构解析、加密函数定位到裸函数封装和系统集成,手把手教你构建可复用的封包处理系统,适用于游戏安全研究与功能开发。

weixin_42525738的博客 156

逆向实战:用Cheat Engine和x64dbg修改单机游戏金币(附详细操作步骤)

本文详细介绍了使用Cheat Engine和x64dbg对单机游戏进行逆向分析,以修改金币数值的完整实战流程。文章从工具准备、动态内存扫描定位数值,到静态分析汇编代码、理解游戏逻辑,最终实现代码修改并创建持久化补丁,为逆向工程学习提供了系统的方法论和操作指南。

t1u2v的博客 649

游戏外挂编程二之C/C++内联汇编代码和DLL

合肥程序员群:49313181。合肥实名程序员群:128131462(不愿透露姓名和信息者勿加入)QQ:408365330 E-Mail:egojit@qq.com 上一节我讲解了CE的使用,这一节我讲解一下windows下C/C++的在以后外挂编程中会用到的知识,内联汇编和C++MFC的DLL编写。这两个基本知识都是以后外挂中都会用到的,但是不一定是现在的高级语言编写者...

weixin_30284355的博客 195

单机游戏外挂原理与实现:从内存扫描到代码注入的逆向工程实践

在计算机软件领域,内存管理是程序运行的核心基础。程序运行时,其代码和数据被加载到进程的虚拟地址空间中,通过内存地址进行访问和操作。理解这一原理,是进行软件调试、性能分析和安全评估的关键。从技术价值看,掌握内存读写、指针寻址和进程间通信,不仅能深化对操作系统机制的理解,更是软件逆向工程和漏洞分析的基础技能。在应用场景上,这些技术广泛用于软件兼容性测试、安全研究以及合法调试。本文以单机游戏为例,通过**内存扫描**定位关键数据,并利用**代码注入**技术实现功能修改,系统演示了如何通过逆向工程方法分析程序内部

weixin_34116482的博客 228

告别手动汇编:易语言如何调用aa_engine.dll,让CEAA脚本自动注入游戏进程

本文详细介绍了如何通过易语言调用aa_engine.dll实现CEAA脚本的自动化注入游戏进程,提升游戏辅助开发效率。内容涵盖环境配置、DLL接口分析、易语言动态调用、高级技巧与实战案例,帮助开发者摆脱手动汇编的低效模式,实现游戏内存数据的自动化修改。

weixin_30878501的博客 643

511遇见易语言DLL制作调用及hook注入

目录 1-VB6.0调用易语言编写的dll 2-C#调用易语言编写的dll 3-C++和python调用易语言编写的dll 4-VB.net调用易语言易语言编写的Dll 5-易语言调用VB6.0编写的ActiveX Dll 6-易语言调用VB.net编写的Dll 7-易语言调用C++编写的Dll 8-易语言调用C编写的Dll 9-易语言调用C#编写的Dll 10-易语言DLL模块和API的区别 11-易语言DLL命令调用转向 12-易语言动态调用dll及子程序-1 13-易语言动态

511遇见 2万+
上一篇: tomkeeper 的DEP/ASLR bypass without ROP/JIT
下一篇: python 输出内存内容
sam20151111sam
博客等级 码龄17年 8粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值