一文透析腾讯游戏安全反外挂能力

对反游戏外挂技术的思考及实现 前言 现如今,有很多游戏外挂软件,它们可以修改游戏显示的数据和内部代码,来达到谋取利益的目的。在实现反外挂技术前,我先介绍一下常见的三种外挂:1.模拟类外挂:该外挂可以说是最早的外挂了,它是往游戏发送伪造的按键消息来模拟人的手工操作。实现的思路为: 1.在Ring3层使用SendMassage、PostMassage、keybd_event、mouse_event等向消息队列中发送按键消息 2.使用回调函数KeyboardClassServiceCallback和MouseClassServiceC 阅读详情

产业互联网时代,得益于数字化、移动化浪潮,游戏产业发展迅速,游戏市场在黑天鹅事件下同样保持繁荣。然而,蓬勃发展的游戏市场背后,却暗藏着诸多游戏安全问题,外挂、代练、盗号、色情信息等游戏安全问题层出不穷,侵害了游戏玩家和厂商的利益。

这意味着,游戏厂商不仅需要把游戏做好,更需要提前部署安全风险对抗策略,才能延长游戏生命周期。

 

游戏风险野蛮生长

腾讯安全纵深防御

游戏安全第一个绕不开的是外挂,根据腾讯游戏安全数据显示,2019年手游和端游的外挂仍保持增长趋势,其中手游外挂向休闲类游戏蔓延,端游外挂样本首次突破3万个。

借助于外挂的存在,使用者可以轻松打出成吨伤害,在游戏里一夜暴富,更可以成为自动瞄准的神枪手。这些个人行为破坏的是游戏的公平竞争,更渐渐影响游戏充值风气,带来“外挂变强”的认知错位。此外,自动挂机的外挂还可以成为打金工作室的作案工具,掠夺游戏中资源和金钱,破坏游戏经济生态,给厂商带来无法挽回的损失。

寄生于游戏的风险不会止步于外挂,薅羊毛、恶意广告、恶意拉人、色情诈骗、DDoS攻击等黑产行为屡禁不止,让游戏生态雪上加霜。如何营造安全的游戏环境?腾讯安全基于在安全领域和游戏领域的十余年经验,建立了涵盖基础安全、业务安全和内容安全的一站式安全解决方案,夯实游戏底层安全能力,运营中对抗恶意练号打金等黑产行为,通过内容过滤游戏环境,切实保障游戏厂商从开发到上线运营的全生命周期。

游戏是一个小而全的网络世界,其场景下特有的风险动辄使厂商蒙受千万损失。对此,腾讯游戏安全服务团队打造了游戏行业专属的安全解决方案,贯穿手游、端游、单机的多元化游戏场景,为打击游戏黑产进行针对性的安全策略,搭建起横向拓宽、纵向深化的游戏安全防御体系。

本文将重点阐述游戏行业特有的安全解决方案,后续还将对腾讯游戏安全业务进行全盘介绍,欢迎大家持续关注。

 

精准打击,“手游专用壳”

加持腾讯手游保护能力模型

随着智能手机的进一步普及和游戏品类的丰富,游戏外挂全游化的趋势明显。根据腾讯游戏安全数据显示,2019年手游外挂中,动作射击游戏数量最多,占比超过80%,而休闲竞技、赛车竞速、MOBA等游戏外挂同比增长幅度较大,这要求游戏从业者必须加强对外挂风险的预防。

腾讯游戏安全服务团队提供如下解决方案:

  • 手游专属安全加固,提升外挂生产成本

手游安全加固是腾讯游戏安全服务团队针对手游场景定制,以性能稳定为前提,在代码加密、反动态调试、资源保护、防脱壳剥离四方面对游戏进行全面保护,以“手游专用壳”核心解决游戏逆向破解问题,提升外挂制作的技术门槛。

手游专属安全加固功能,具有功能全面、剥离难度大、资源保护强、兼容性强、性能消耗低等优势,对抗效果已在《王者荣耀》《和平精英》等数百款腾讯精品手游和亿级用户环境得到验证。

  • 手游反外挂对抗策略,高效识别“闪退”外挂

手游安全加固完善了游戏底层能力,反外挂策略则直接指向游戏的通用外挂痛点。腾讯游戏安全服务团队输出专业手游反外挂能力,以丰富的对抗样本库和反外挂控制平台对抗策略,能够帮助手游厂商快速应对通用型外挂的安全问题。

首先,腾讯游戏安全有着丰富的外挂对抗库,并不断更新和完善,目前已经覆盖30万样本,可帮助厂商精准、快速识别对抗外挂;其次,反外挂控制平台提供修改器闪退、变速器闪退、虚拟机闪退、二选一功能、反调试安全检测等8项策略功能,帮助厂商自定义调整策略。同时,反外挂控制平台可以提供多样的统计分析数据,实时展现反外挂检测及打击信息,帮助厂商把握游戏安全脉搏,及时做出对抗策略决策。

以手游修改器为例,外挂使用者可以轻松拥有 “游戏光环”,严重影响其他玩家的体验。腾讯游戏安全服务团队第一时间识别游戏数据的异常,进行“闪退”处理,倒逼使用者主动放弃外挂。

目前腾讯游戏安全服务团队已对外开放基础版反外挂能力,后续会根据市场需要逐步开放合适的更高级的安全能力,助力手游厂商更好地解决游戏安全问题。

 

能力进阶,端游外挂定制化

激发对抗策略升维

端游外挂更为猖獗,目前监测到的端游外挂样本正逐年递增,2019年外挂样本数量突破3万,且呈现出明显的定制化、平台化、硬件化的趋势。鉴于外挂一直是阻碍端游发展的掣肘,腾讯游戏安全服务团队打造一站式的端游安全解决方案,包括门槛级加密保护、专业对抗、高效运营等核心功能。

  • 安全加固策略,提升游戏被篡改的技术门槛

门槛级安全加固策略,以游戏核心组件加密保护,提升客户端被调试、注入、篡改等的难度,同时提供从安全评审、外挂发现、外挂处理、用户运营等一站式安全服务,曾帮助多个游戏合作伙伴攻克外挂难题。

端游反外挂解决方案在外挂对抗场景下,能够前台上报可疑模块/信息,后台策略对模块/信息判黑并处罚,同时结合游戏玩家关键行为数据,进行后台校验,当判定玩家游戏行为异常后,会将作弊用户数据回传给游戏厂商,实现对外挂作弊用户的精准打击。

  • 高效运营跟进,第一时间深挖游戏漏洞建立对抗机制

外挂对抗争分夺秒,腾讯游戏安全服务团队以高效对抗效率,成为挽回游戏厂商损失的助力。此前,某FPS游戏“冰X”是一款定制型外挂,可以任意登录任何一个用户的游戏帐号出现当天便导致3万多游戏玩家的金币、点券被恶意消费。腾讯游戏安全服务团队连夜分析外挂样本,并给出针对性的方案,在外挂者登录玩家帐号时成功拦截,同时对恶意登录行为建立检测、评估模型。

对抗过程中,外挂制作者变本加厉,再次推出炸服外挂,可以使游戏任意大区宕机。腾讯游戏安全服务团队封禁外挂用户的帐号,在5个小时内完成游戏协议漏洞分析,并进行安全加密。在技术追逐与对抗的战役中,腾讯游戏安全服务团队基于丰富的对抗经验,第一时间分析游戏漏洞,借助高效的运营体系进行安全加密,及时止损。

 

多线并进,阻击游戏黑产

产业链条建安全防线

除了上述提到的外挂,基于游戏大生态下的黑产产业链条可能更让游戏厂商束手无措。腾讯游戏安全服务团队对植根于多种游戏类型中的黑产进行防范,建立了纵深防御的安全体系。

  • 数字版权安全保护,打击单机盗版横行

一款优秀的单机游戏往往会耗费大量的时间、人力和物力,上线后的1-2年是销售的黄金时间,也是防盗版的关键阶段。此前,一些经典游戏之作在发行不久就惨遭破解,比如《刺客信条》90天即被破解,《古墓丽影 暗影》64天被破解,无疑给开发商造成巨大的打击。

如何进行数字版权保护?单机游戏厂商们通常会关注以下几点:1、是否可以有效验证数字版权合法性?2、游戏关键代码被逆向分析是否会第一时间识别?对此,腾讯游戏安全服务为单机游戏提供数字版权全线保护方案,同时为单机游戏提供客户端安全环境校验与服务器策略部署相结合的方式,将破解版对抗能力提高到了行业新高度。

同时,腾讯游戏安全服务能够根据合作需求灵活调整方案,精准匹配、满足防盗版的保护需求,防止非法扩散。目前数字版权保护方案兼容WeGame、Steam和GooglePlay等平台,支持多引擎跨平台的防篡改保护,其中包含Unity-Mono、UnityIL2CPP、C/C++类引擎,并已在《中国式家长》、《风暴岛》、《妙连千军》、《不思议皇冠》等单机游戏上使用。

  • 游戏黑产识别方案,追溯打击黑产源头

游戏黑产识别方案,基于多年的安全对抗经验与积累建立行业最全黑产库,帮助游戏运营商提前识别黑产帐号,前置限制应用后可最大限度的减少黑产对玩家的正常游戏体验以及经济系统造成的伤害。

目前该方案可对打金号、仓库号、点券金币商、资源商、礼包商、号商等游戏黑产进行准确的提前预判,同时利用人工智能与大数据监测持续提升黑产识别能力,黑产覆盖率80%;存量黑产+动态异常行为判定,并辅以黑产标签退出机制,黑产识别准确率达97%以上。

  • 打金工作室方案,防范游戏里的“掘金者”

腾讯游戏安全服务团队打金工作室方案致力于检测和打击游戏内外批量刷取游戏资源的恶意行为,实现从注册、打金到变现的全链路精准打击。

通过游戏内外行为数据,抽取工作室异常特征,使用机器学习、深度学习、复杂网络和统计概率等数据挖掘方案建立检测模型,应对代理IP、硬件修改等黑产打金手段;基于多业务、多场景海量真实用户数据的交叉验证评估能力,对模拟器、同步器、真机假用户、真机真用户假行为等作弊行为实现95%以上的精准率,真实沉淀用户数据。

 

能力开放,携手游戏厂商

共建游戏安全生态

十年磨一剑。从端游时代开始,腾讯游戏安全不断深耕游戏安全市场,凭借十余年的经验能够实现对游戏外挂、黑产的精准对抗打击,并在对抗过程中完成能力进化,彰显在游戏垂直领域的深入探索和布局,以高效、精准来完善游戏行业安全防护体系。

全天24小时实时检测、高效运营分析游戏漏洞、严谨对抗策略、接口部署没有后台开发成本……这些优势能够快速赋能游戏厂商。腾讯游戏安全对外服务产品已经在腾讯运营的众多游戏海量用户级别上验证过,将继续向巨人、英雄互娱、华益天信、米哈游、心动网络等多家游戏公司输出安全能力,让游戏玩家体验升级,让游戏厂商时刻把握安全脉搏。

未来,腾讯游戏安全服务将继续开放能力,对抗游戏安全风险和黑产产业链,延长精品游戏的生命周期,携手游戏厂商共建游戏健康生态,营造更具公平性、竞争性的游戏环境。

手游 反外挂 天道有轮回,苍天绕过谁。曾经都是我开外挂玩别人的游戏,现在轮到别人开挂玩我们的游戏了。说起外挂,我游戏生涯接触还算挺多了,从最开始单机游戏的金山游侠、金手指,到网游时代传奇的变速齿轮、DNF的封包外挂,到手游时代的葫芦侠、八门神器等各种内存修改器,很不好意的讲,我都用过……当然,我还是有原则,竞技游戏坚决不会开外挂。当下绝地求生颇受外挂困扰,各大主播因外挂嫌疑被锤得死去活来,外挂对于游戏的破坏力, 阅读详情

相关推荐

游戏反外挂解决办法

能有效遏制游戏特征检测 行为检测等 方法只做参考 有更好的建议麻烦PM我!

深度解析FPS游戏外挂+解决方案

毋庸置疑,网络游戏安全一直是处于互联网的风口浪尖,众多用户享受游戏乐趣的同时,有着众多经验丰富的黑客在利润驱动的情况下以这款游戏的作弊技术谋生。游戏安全所遇的风险也是多维度的,这就使得游戏行业不得不去注重自己的安全风险,本篇针对游戏外挂问题展开,欢迎各位大佬交流讨论~

Safety88888的博客 5212

idle:用于Unity和Unreal Engine中游戏的高级,开源反作弊插件

idle:用于Unity和Unreal Engine中游戏的高级,开源反作弊插件

游戏反外挂的难点和破局之路

如果你是在2000年那段时间玩过游戏的话,应该对星际争霸、CS等对战类游戏还记忆犹新吧,今天笔者不谈论这些游戏的本身,而是来谈一下游戏中的外挂,当年的星际,就出来了很多外挂,比如开全图,就这一个功能,完全可以颠覆整个PK结果;而像CS的透视、穿墙等也让游戏完全失去公平竞技性,当时反外挂的概念也呼之欲出。而后随着PC端网络游戏的崛起,就很少要有人再去玩或者谈起这些游戏,但是游戏外挂却跟随时代的脚步而...

zhuobattle的专栏 9005

GalaxyAP过游戏反调试框架

工程说明: 1.GalaxyAP 应用程序 2。HookPortBypass 重加载内核(包括nt和win32k) 3。TEST_KIDISPAT 自分发异常(朋友帮忙实现了部分,代码主要来源WRK) ps:hookport代码抄网上的,来源http://www.m5home.com/bbs/forum.php 这套GalaxyAP工程主要实现了: 1。重加载内核(借助 hookport思路配合peloader) 2.自实现异常分发的几个主要函数 3。自创建debugobject,使用另一个object 3。也使用了另一个fastmute 4。自己发现吧。。。 PS:驱动的加载有时候在游戏前好使有时候在启动游戏后好使 PPS:这货也只能在XP上跑了 实现了HOOK框架,只需要按下面填写即可 ////////////////////////////////////////////// //这是为了HOOK原来的ntos,转到新的os中 VOID (WINAPI *DUMMYFUCK )(IN PVOID Object); // VOID (WINAPI *PspUserThreadStartup )(IN PVOID Object); // VOID (WINAPI *PspSystemThreadStartup )(IN PVOID Object);

Cadence——原理图相关教程

包含创建文件,原理图,元器件,规则检查,PDF与BOM清单输出,各类PCB网表

haonanyayaya的博客 1万+

【游戏行业部】反外挂技术的革新:如何有效应对 FPS 外挂的威胁

FPS(第一人称射击)游戏是一种高度竞争和反应速度极高的游戏类型,已经成为当今游戏市场主流的游戏品类之一。与此同时外挂问题已经成为 FPS 游戏产业的一大难题,游戏开发者和平台运营商必须采取措施来保护游戏的公平性,维护游戏的品牌形象。本文将从 FPS 游戏外挂现状和泛滥原因、传统外挂检测方法及局限性、应用落地等多个方面来探讨 FPS 游戏外挂问题。

netease_im的博客 1106

ESP32-CAM实战:从零构建高精度QR二维码识别系统

本文详细介绍了如何使用ESP32-CAM构建高精度QR二维码识别系统,涵盖硬件配置、开发环境搭建、二维码识别库选择与优化、完整系统实现及实战问题排查。通过优化识别算法和电源管理,系统可实现快速、稳定的二维码识别,适用于物联网设备绑定等场景。

weixin_42524703的博客 433

关于腾讯游戏的反外挂保护来一个总结

关于腾讯游戏的所有保护Ring3 和Ring0 全部做了措施,检测辅助开发阶段调试工具 和 HOOK 内核Api ,可以和部分杀毒软件相比了。)一、腾讯在ring3层检测调试工具:它又分为两点。1、检测进程上的模块名(包括进程的路径和模块路径上出现的敏感字)2、检测进程界面上的控件名和窗口名上的敏感字所表现的常见现状:比如 一打开CE或VE,还没加载上游戏,游戏就自动关闭,并且弹出非法警告框.腾...

weixin_30426879的博客 4630

VSCode+PlatformIO新建工程卡成狗?3步提速大法实测有效(附镜像源配置)

针对VSCode+PlatformIO新建工程时因依赖下载缓慢导致的加载慢问题,本文提供了三步核心提速方案。通过配置Python环境变量、修改PlatformIO插件设置以使用国内镜像源,并优化pip配置文件,实测可大幅缩短工程创建时间,有效解决创建工程卡顿的痛点。

delta的博客 709

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3316

腾讯游戏安全高级工程师胡和君:定制化对抗——游戏反外挂的安全实践

11月18号,2017看雪安全开发者峰会在北京悠唐皇冠假日酒店举行。来自全国各地的开发人员、网络安全爱好者及相应领域顶尖专家,在2017看雪安全开发者峰会汇聚一堂,只为这场“安全与开发”的技术盛宴。如今很大一部分人会通过游戏来进行适当的娱乐放松,在这个过程中玩家最关心的就是游戏的公平性问题,然而由于外挂的存在使得一些玩家轻轻松松就开启了“上帝模式”,因此如何反外挂就成了众多游戏公司最头疼的问题。腾...

优快云业界要闻 3538

Tessy学习系列(三):单元测试——官方例程isValueInRange

注意:工程名称以及路劲不能包含空格和中文

不吃鱼的猫的博客 2347

模仿腾讯实现内核进程的调试端口DebugPort 清零

模仿腾讯实现内核进程的调试端口DebugPort 清零 最近学习驱动,昨天刚配置了下windebug调试器,下载了论坛的驱动教程,很不错,适合入门。看了几个老郁的教程,随便把驱动环境搭建好了。 在公司xp  sp3的系统上测试了成功,OD下断点失效或报错。 --------------------------------------------------------

M-先生 2807

高效与灵活相结合:Verilog编写的跨时钟域循环缓冲控制器解析

循环缓冲区,也被称作循环队列、环形缓冲区,是一种数据结构,其主要特性是使用一个固定大小的缓冲区作为数据的存储空间,这个缓冲区在逻辑上被视作是首尾相接的。虽然Verilog是一种常用的硬件描述语言,被广泛应用在FPGA和ASIC设计中,但是在描述循环缓冲区时,它并没有提供一种直接且灵活的方式来指定循环缓冲区的参数,如字长、缓冲区深度、缓冲区数量等。这给硬件设计带来了一定的不便。同时,该控制器的设计也充分考虑了硬件资源的利用率,通过优化的算法和数据结构,使得在实现高性能的同时,也能够有效地节省硬件资源。

qq_38334677的博客 1221

手把手打通全流程:在华为昇腾310/Atlas 200DK上实现深度学习模型从移植到部署

通过以上步骤,你已成功在华为昇腾310 Atlas 200DK上完成深度学习模型的移植与推理。这一流程可复用到目标检测、语义分割等其他任务,快去尝试将自己的AI模型部署到昇腾设备上,打造属于你的边缘智能应用吧!上部署深度学习模型,这篇教程将带你走完从模型转换到推理运行的完整流程。无需担心技术壁垒,我们以通俗易懂的方式拆解每一步,让你轻松在昇腾嵌入式设备上实现AI应用。是专为边缘AI设计的高性能处理器,Atlas 200DK是其开发板形态,能高效运行图像分类、目标检测等深度学习任务。

FJN110的博客 183

终极指南:如何轻松限制腾讯游戏反作弊进程资源占用

**腾讯游戏玩家必看!** 你是否在玩《英雄联盟》、《穿越火线》等热门腾讯游戏时,明明电脑配置不错,却总感觉游戏卡顿、系统响应缓慢?问题的根源很可能在于那个名为 **ACE-Guard Client EXE** 的反作弊进程。这个进程在后台运行时,常常会过度占用CPU和内存资源,导致游戏性能大幅下降。 今天,我要为你介绍一个开源神器——**sguard_limit**,它能智能限制ACE-Gua

gitblog_00179的博客 335

大语言模型在金融风险预警中的推理应用探索

金融行业一直面临着各种风险,如信用风险、市场风险、操作风险等。准确及时的风险预警对于金融机构的稳定运营和投资者的利益保护至关重要。传统的金融风险预警方法主要基于结构化数据和统计模型,虽然在一定程度上能够识别风险,但对于非结构化数据的处理能力有限,难以捕捉到复杂的风险因素和潜在的风险趋势。大语言模型作为自然语言处理领域的重要突破,具有强大的语言理解和生成能力,能够处理各种形式的文本数据。

AI天才研究院 1169

标题:2025游戏反外挂终极指南:从DMA对抗到生态治理的全面防御体系

通过PCIe/USB外接设备(如FPGA开发板)直接读取物理内存,绕过操作系统监控,实现“零痕迹”透视(玩家位置/物资分布)。采用NIST认证的CRYSTALS-Kyber算法,抵御量子计算破解(实验环境破解耗时↑1000倍)。:外挂程序学习反作弊机制,动态调整攻击参数(如《三角洲行动》中“雷达网页共享”外挂)。:在玩家本地设备运行反作弊模型,降低云端负载(如The Finals方案)。:GPT-5生成动态操作轨迹(如随机鼠标偏移),规避行为分析。:业务端口仅开放62001加密隧道,阻断99%扫段攻击。

2403_86962125的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

FPS游戏最新UE4(虚幻4)逆向过检

教程采用最新的虚幻引擎逆向!课程会有4.23-4.26不同类型的引擎版本进行讲解!课程将会持续更新!教程通俗易懂,很适合新手入门!通过本套教程的学习,你将完全掌握FPS游戏UE4引擎的逆向思路从0 基础开始录制到编写FPS游戏辅助通过逆向分析游戏,得到所需的数据来实现我们的功能功能:方框 骨骼自瞄(四种:方框,骨骼,内存和外部,预判自瞄)物品 人物加速 吸人 敌人视角朝向汽车加速飞天雷达午后瞬移追踪等功能

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SGuard64.exe(SGuardwnd) ACE-Guard Client EXE:造成磁盘经常读写,游戏卡顿,及解决方案

持续扫盘,特别是腾讯代理的游戏一旦开局,有磁盘灯的会发现磁盘灯常亮,没错,扫盘开始了,大约算了一下,这个程序平均读操作可以达到每秒三到四兆(按照3.5来算),按照每十秒有四秒钟读操作,平均半个小时能读磁盘2520M,也就是2.5个G!这个程序你还不能够关闭,关闭进程无用,因为你关不掉,是的,点击结束进程还在,咱也不知道怎么实现的这个功能,像病毒一样顽固。网上不少论坛(如吾爱破解、百度贴吧等)都有一些大牛写的程序,也是不断升级,可以压制它的读操作的速度,几乎不再进行读操作,高峰读操作,它也能降到1兆不到。..

清风思雨的博客 6万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

详解反调试技术

反调试技术,恶意代码用它识别是否被调试,或者让调试器失效。恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作,因此他们使用反调试技术尽可能地延长恶意代码的分析时间。为了阻止调试器的分析,当恶意代码意识到自己被调试时,它们可能改变正常的执行路径或者修改自身程序让自己崩溃,从而增加调试时间和复杂度。很多种反调试技术可以达到反调试效果。这里介绍当前常用的几种反调试技术,同时也会介绍一些逃避反

houjingyi的博客 3万+

浅谈企业入侵防御体系建设

前言:噩梦序章】 信息化时代对企业的信息安全威胁最严重的就是黑客入侵。由黑客入侵对企业带来的危害大家自行百度,在此不赘述。 互联网企业由于其业务特性,业务会向全互联网用户开放,只要接入互联网的人都可以访问到这个业务,覆盖全网用户的同时又等于是给黑客暴露了攻击面,一旦业务出现安全漏洞,黑客就会迅速入侵进而对企业带来灾难性的破坏。 传统企业即使有信息化业务,那也是在线下,覆盖用户有限(互联网上的黑...

Coisini的博客 749

用C++逆向分析解密,制作游戏破解辅助外挂竟如此简单!

QQ农场辅助主要是实现自动偷菜、自动买东西等。是非常不错的学习C++的东东。里面的介绍非常的详细,希望有兴趣的朋友帮忙研究研究。 我用VC++写的QQ农场辅助(waigua)源代码,还有一些和朋友一起分析得来的资料,分析文件里面有关键 swf 的编译文件;QQ农场Waigua的编写并不难,主要是分析的数据太多,相对来说比较难解决的是 farmKey 的生成,最早的 farmKey是直接在fa...

6809

知物由学 | Windows反外挂的数据对抗

只要你在电脑上玩过游戏,那你或多或少都听过甚至遇到过游戏中的“战神”——即那些开挂的恶劣用户,他们不仅让游戏失去公平,影响了他人的游戏体验,还使游戏本身失去了乐趣。既然外挂破坏了游戏生态,Windows系统是怎样防止外挂的呢? 一、前言 由于Windows操作系统进程间相对开放,不具有类似移动平台的进程沙箱隔离机制,因此无论是外挂的种类、实现方式,还是打击外挂的手段,都会相对复杂一些。细化地说,像一些常见的杀毒软件、输入法、直播推流软件均存在对外部进程的访问、数据读取甚至是内存修改的行为,若是强行将所有Ho

6955
上一篇: 金融级安全“零失分”,腾讯云IT管理水平再获国际认可
下一篇: 预告丨零信任产业标准工作组将成立,腾讯iOA重磅升级
腾讯安全
博客等级 码龄10年 901粉丝 620原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值