首页 > 其他分享 >找call的万能方法,一招通杀所有网络游戏【个人实践出来的】

找call的万能方法,一招通杀所有网络游戏【个人实践出来的】

时间:2022-11-29 17:01:13浏览次数:52  
标签:里面 游戏 OD 通杀 发包 call 网络游戏 或者






呵呵 这个说的是方法,就不拿哪个游戏来举例了,懂得原理,操作自己灵活变动。

首先说的,网络游戏是有客户端 服务器的,这样就得需要一个通讯,基本上的功能都会通过服务器来验证的,要是本地验证的话那就能很快做出BT功能了。所以为了防止BT功能,就会用服务器来控制。

那么,现在知道了一个关键的地方了,也就是通讯,就是联网,就是发包了。那么发包就得send【或者WSASend】了。至于哪个是不重要的。因为他们的原理是一样的,而我下面将要说的是原理上的寻找,不是告诉你说具体找哪个的,因为在我看来,找哪个都是一样的。

要是你想懂得以下我说的意思,可能需要了解的有:OD的基本使用方法;《Wingdows核心编程》;还得懂得汇编;还要掌握一种编程语言及在此编程语言里面嵌入汇编【要是你把汇编转换成你的编程语言来写且实现跟汇编一样的功能的话也不反对】等。


一:
开一个游戏,进入后,开OD【有的游戏可能会检测OD,也许需要你先开OD,然后通过一些插件来实现隐藏或者过掉游戏检测】,附加游戏进程,这个是必须的,虽然基本上人会搞游戏的都懂这个。


二:
然后按OD上面的那个字母按钮 “E”  ,选择游戏进程,进入到游戏领空,然后在游戏领空里面你看到的第一个call,进到这个call里面,再看这里面的第一个call,进去,按照 这样的方法一直到 kernel32.dll 或者 ntdll.dll 里面的第一个call ,下断【可以双击此行的Hex dump 的值或者再选中此行的时候按F2】,然后回到游戏里面,随便使用一个你认为能让游戏发包的功能。
【或者你直接找OD里面的函数。可通过Ctrl + N 来显示此时游戏的函数,这个时候应该能看到Send 或者 WSASend ,要是看不到你就按照上面的步骤来操作吧,不过这个找到的发包函数不一定对,但是按照上面操作找的话肯定对】

三:
如果上面的操作你都搞定了,那应该此时OD里面就断下来一个地方,你就翻上几层就可看到游戏的发包函数了。

四:

找到发包函数之后,你如果直接断这个发包call的话,应该会一直断的,或者断的很快。会一直这样。然后你看OD的寄存器的值,主要是看这个发包的包长 【要是不懂的话,就看寄存器哪个值是有固定的几个来回出现的就行】,然后选中你断的那行,按 Shift + F2 【或者你找OD的调试(中文版),Debug(英文版)的条件断点】,在弹出的框框里面填入你看的那个寄存器的值,比如:eax != 0x2 && eax != 0xc && eax != 0x6【这个条件视实际情况而定】。然后就可以通过这个发包call来这你想要的功能call了【不过这个只能找到那些发包的功能call,要是不发包的 话,可以看下我的相关帖子,应该可以看到相关的方法】。

五:

在找到了发包call之后,可能你想找到明文发包call,那样的话,也是通过这个call来向上找的,就看你想要什么call了,基本上99%都可以找到。


综上所述,应该就可以实现一个比较万能的方法了,要是由于本人的表达能力有限,导致各位读者看不懂的话,还请见谅。要是想要弄清楚或者交流的话,可以到我们专门为了交流call而准备的群:辅助技术支持群 88823117 .

最后再次重申,由于本人才疏学浅,表达能力有限,以上发的烂文各位看不懂的话还请飘过,或者有什么疑问可以回帖发问,混沌尽量都能回复。

标签:里面,游戏,OD,通杀,发包,call,网络游戏,或者
From: https://blog.51cto.com/u_15834343/5896035

相关文章

  • RecursionError: maximum recursion depth exceeded while calling a Python object
    原因分析:Python默认递归调用深度为1000(即最多递归调用1000次),而程序在运行过程中超过最大的递归深度。为什么最大递归深度要有限制呢?本质上讲,在计算机中,函数调用是通过栈(st......
  • call指令和ret指令
    上代码assumecs:code,ss:stackstacksegmentdb16dup(0)stackendscodesegments:movbx,16ret;returntoblockclodebehindthec......
  • paddlenlp的tokenizer中的__call__()函数
    目录函数原型函数含义函数原型def__call__(self,text:Union[str,List[str],List[List[str]]],text_pair:Optional[Union[str,......
  • RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach
    出错代码:点击查看代码dataset_numpy=x[0].cpu().numpy()centers=centers.cpu().numpy()codes=codes.cpu().numpy()修改后代码:点击查看代码dataset_numpy......
  • 记一次web登录通杀渗透测试
    在渗透测试过程中,碰见的web登录页面特别多,那么我们应该用什么样的思路去进行一个测试呢,下面看看我的一些测试师思路ba测试思路当看见一个这样的web登录框时,会怎么样进行一......
  • pwn之ret2syscall
    目录syscall介绍系统调用号ret2syscall介绍判断步骤例题Rop[简单系统调用]思路EXPRet2sys[多系统函数调用]思路EXPRet2sys[64位寄存器]思路EXPsyscall介绍函数系统调用,......
  • npm install报错npm ERR! cb() never called
    1.首先我们以管理员身份打开cmd命令行窗口,执行如下清除缓存指令:npmcacheclean-f2.安装最新稳定版的Nodenpminstall-gnstable--force3.1再次执行npminstall ......
  • Qt-Qt使用回调函数方(callback)
     实例代码:.pro1QT+=coregui23greaterThan(QT_MAJOR_VERSION,4):QT+=widgets45CONFIG+=c++1167#Thefollowingdefinemakesyourcompilere......
  • 【Java】JDK5.0新增的创建多线程的方式:实现Callable接口,使用线程池
    1.实现Callable接口方式和实现Runnable接口相比call()可以有返回值。call()可以抛出异常,被外面的操作捕获,获取异常信息。Callable是支持泛型的。实现Callable接口......
  • linux命令多服务器分发执行xcall
    前言:linux服务器/usr/local/sbin目录,一般是用户自己安装软件后的命令所在目录。将命令放在此处可以在linux中任意位置执行,相当于自动添加了全局变量,所以将xcall放入此......