利用Python做绝地科学家(外挂篇)
i春秋作家:奶权
前言
玩吃鸡时间长的鸡友们 应该都知道现在的游戏环境非常差 特别在高端局 神仙满天飞 搞得很多普通玩家非常没有游戏体验
因为吃鸡的火爆 衍生出了一条巨大的外挂利益链 导致市面上出现了各式各样的外挂http://news.17173.com/z/pubg/content/12072017/144924727.shtml
正是因为现在的神仙满天飞 像我这种菜逼实在没办法生存下去 我的报复欲促使我开始了科学研究
先给大家介绍一下现在市面上的外挂种类
传统外挂
fps游戏都有一个共同的特点,大部分计算都是本地完成的,不可能每一个动作都和服务器交互,有几个原因:
- 会造成服务器负荷过大,提高运营成本
- 在对枪杀人时,几十ms的延迟可能会扭转战局
- 会极大影响游戏体验
信息安全的一个基本原则,永远不要相信用户的输入。这里的输入就是指在本地进行运算的结果。本地进行的计算越少,与服务器交互的越多,外挂利用难度更大。”>信息安全的一个基本原则,永远不要相信用户的输入。这里的输入就是指在本地进行运算的结果。本地进行的计算越少,与服务器交互的越多,外挂利用难度更大。由于大量的计算都是在本地完成的,而游戏又是运行在内存中,那么导致了我们有很多种方法进行利用。最简单的就是用CE修改内存里的数据,常规的有注入和Hook,还有各种奇淫技巧。单以注入为例,就有五花八门的注入技术。下面是《游戏外挂攻防艺术》一书中的提到的一些方法:
- 注册表注入
- 远线程注入
- 依赖可信进程注入
- APC注入
- 消息钩子注入
- 导入表注入
- 劫持进程创建注入
- LSP劫持注入
- 输入法注入
- ComRes注入
修改本地文件的PUBG外挂
本篇文章就是基于这种方法实现的,原理是通过修改本地游戏资源(*.pak),来实现的各种功能,而PUBG采用BattlEye来实现反外挂,游戏运行时后台有个叫BEservice.exe的进程,进游戏后打开任务管理器就能看到两个很明显的PUBG logo的进程,另外一个叫TslGame.exe是游戏的进程。BEservice.exe对PAK修改的检测十分严格,而且不断在更新,这也是各种辅助有时在游戏更新后会失效的一个主要原因。而基本上一个外挂失效,也只用更新下过检测(BEservice.exe),就能满血复活了。
外挂介绍来自:https://bbs.ichunqiu.com/thread-37371-1-1.html?from=timeline&isappinstalled=0
科学研究
上面说了基本上通过修改pak文件的外挂失效只需要更新一下过检测就行了
自从前几天的游戏大更后 市面上很多过检测的方法都已经失效了 查了很多资料实验了很多次后 找到了个目前来说还算是稳定的方法:
复制一份PUBG目录 以下称bypass目录将PUBG目录重命名为PUBG1使用mklink命令创建bypass目录的软链接命名为PUBG使用mklink命令创建功能pak文件的软链接 将其放入PUBG这个软链接中的paks目录登steam 随便开一局游戏 上飞机后 删除第四步在paks目录里创建的软链接删除第三步创建的PUBG软链接将PUBG1目录重命名回PUBG
这样就大功告成了 前4步是初始化 后3步才算是过检测 复制完的bypass目录在不进行大更新的情况下可以不删除 也就是说如果你退出了游戏 就需要从第2步重新开始
发明科技
要完成这个科技其实非常简单 只需要一些简单的文件操作基础即可 这里就不多bb了 直接上成品
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
@ Author : NNNNNaiquan
@ Mail : misitenq@gmail.com
"""
import config
import os import shutil class bypass(): def __init__(self, steamapps_path): self.steamapps_path = steamapps_path self.pubg_path = steamapps_path + 'PUBG' self.bypass_path = steamapps_path + 'bypass' if not os.path.exists(self.bypass_path): l('Info',unicode('正在初始化','utf-8').encode('gbk')) shutil.copytree(self.pubg_path,self.bypass_path) #step 1 shutil.move(self.pubg_path,self.steamapps_path + 'PUBG1') #step 2 l('Info',unicode('初始化完成','utf-8').encode('gbk')) def make_link(self, ): pubg_pak_path = self.pubg_path + '\\TslGame\\Content\\Paks\\TslGame-WindowsNoEditor_ui1.pak' l('Info',unicode('正在创建软链接','utf-8').encode('gbk')) os.popen('mklink /j "' + self.pubg_path + '" "' + self.bypass_path + '"') #step 3 os.popen('mklink "' + pubg_pak_path + '" "' + config.FUNC_PAK_PATH + '"') #step 4 l('Info',unicode('软链接创建成功','utf-8').encode('gbk')) def clean(self, ): bypass_pak_path = self.bypass_path + '\\TslGame\\Content\\Paks\\TslGame-WindowsNoEditor_ui1.pak' l('Info',unicode('正在过检测','utf-8').encode('gbk')) os.remove(bypass_pak_path) #step 5 os.popen('rd /s /q "' + self.pubg_path + '"') #step 6 shutil.move(self.steamapps_path + 'PUBG1',self.pubg_path) #step 7 l('Info',unicode('成功过检测 开始奔放吧','utf-8').encode('gbk')) def l(s,message): print '[%s] %s'%(s,message) def main(): steamapps_path = config.STEAM_PATH + 'steamapps\\common\\' if os.path.exists(steamapps_path + 'PUBG'): obj = bypass(steamapps_path) obj.make_link() l('Info',unicode('上飞机后切回来按任意键开始过检测','utf-8').encode('gbk')) os.system('pause') obj.clean() else: l('Warning',unicode('请检查配置文件中的游戏目录是否正确','utf-8').encode('gbk')) if __name__ == '__main__': main()
运行脚本前需要在同目录下创建一个config.py
文件 里面需要放steam与功能pak的路径 格式:STEAM_PATH = '...\\Steam\\'
,FUNC_PAK_PATH = '...\\*.pak'
科学实验
用了个主播无后的pak来测试
最后
这里我就不提供带功能的pak给大家了 虽然有心的话是能找到的 另外本人不敢保证不会封号 也不提倡大家使用外挂 就这样
下期预告:我相信现在大部分玩家的Rank分都挺高的 进几把前十再吃几次鸡 Rank就差不多到1500-1600这样了 然后再要对枪对赢人就没那么容易了 毕竟大家的分都差不多实力也就差不多 这时候掉分的作用就来了 掉到鱼塘分段 体验炸鱼的乐趣 敬请期待 利用Python做绝地科学家(掉分篇)
转载于:https://www.cnblogs.com/ichunqiu/p/8919661.html
利用Python做绝地科学家(外挂篇)相关推荐
- python可以做外挂_利用Python做绝地科学家(外挂篇)
前言正是因为神在天上飞像我一样,真的是不可能生存.我的复仇的愿望促使我开始科学研究.传统的插件fps游戏都有一个共同特点,大部分的计算是在本地完成,每一个行动都不得与服务器交互.有几个原因:它将导致服 ...
- 怎么用python编写个apk_【android】如何利用python做Android项目自动化构建,并一键实现构建结果发送到钉钉通知以及通过二维码下载apk或者其他处理等功能...
今天我们来谈一谈用python做Android项目自动化构建的过程.我们知道在常规的Android开发过程中,开发人员打包的时候需要在Android Studio当中进行,或者通过gradle命令,但 ...
- python 数据分析学什么-利用Python做数据分析 需要学习哪些知识
根据调查结果,十大最常用的数据工具中有八个来自或利用Python.Python广泛应用于所有数据科学领域,包括数据分析.机器学习.深度学习和数据可视化.不过你知道如何利用Python做数据分析吗?需要 ...
- python自己做个定时器_技术图文:如何利用 Python 做一个简单的定时器类?
原标题:技术图文:如何利用 Python 做一个简单的定时器类? 背景 今天在B站上看有关 Python 最火的一个教学视频 -- "零基础入门学习 Python",这也是我们 P ...
- 利用Python做一个简单的对战小游戏
利用Python做一个简单的文字对战小游戏 一.游戏介绍 1.大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标.两人在对战时同时攻击对方,同时造成 ...
- java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析
引言 随着时代的发展,我国在各行各业都需要大量的人才引进,处于近几年最热门的行业也称"最火行业":大数据.数据分析.数据挖掘.机器学习.人工智能,这五门行业各有不同又互有穿插.近几 ...
- python运行excel高级筛选怎么用_懂点EXCEL就行!教你利用Python做数据筛选(上)...
前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...
- python数据处理可以做什么菜_厌倦了EXCEL想玩点新花样?教你利用Python做数据筛选(下)...
前言 回顾一下上次的案例模型,我们知道了只要写3行代码,就可以利用python对EXCEL数据做简单的筛选,说明了python是一门非常简单和实用的数据分析工具.前面学过的这几句简单的语言,不知道你们 ...
- python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)
前言 Python的数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净.但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的 ...
最新文章
- C#优化字符串操作【月儿原创】
- 学会python之后-学会Python后,人生简直开挂了!
- ORACLE普通表转换成分区表
- Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
- C# 关于yield return的研究(转载)
- 华中科技大学在职研究生计算机好考不,华中科技大学在职研究生容易考吗?
- 浏览器报错:unexpected end of input 解决方法
- Linux与Windows编译器的区别
- 插值拟合模型 之 Hermite插值、三次样条插值
- 无线路由也超频 刷机从TOMATO固件开始
- vo,po,pojo是什么?
- word 职称计算机考试大纲,全国职称计算机考试Word2003大纲(1)
- 推荐! 使用react-cropper-pro实现图片裁切压缩上传
- Unity打包篇:Unity 导出 Gradle 工程出现release builds have to be signed when using Gradle解决办法
- 市场调研-全球与中国化妆品级抗坏血酸葡糖苷市场现状及未来发展趋势
- 鸿蒙招聘店铺主是真的吗,为什么很多店铺门口贴着招聘,然而进去问都说招满了,但是招聘的内容还是放在那不收走?...
- Canvas如何实现樱花雨
- java计算机毕业设计政府人才机构在线考试系统2021源码+mysql数据库+系统+lw文档+部署
- H5 实现电子签名功能-VUE--12301合同签署类似功能
- SQL注入之order by注入与limit注入