Rumah masalah biasa 游戏开发防作弊以及原理简述

游戏开发防作弊以及原理简述

Aug 09, 2019 pm 05:11 PM
permainan

前言

game-3.jpg

如何防作弊在游戏开发中还是占蛮重的比例的,这也涉及到游戏盈利的问题,如果不做防作弊措施,或许我们开发出来的app当前上线或许第二天就出破解免费版了,这个事情我亲身经历过,当然这是基于app做的比较好被外挂公司盯上了,一度很火的吃鸡游戏端游版本其实外挂非常猖獗,这也是因为没有做防外挂,如何防作弊在求职者求职的时候也会经常被问到,当然我们能想到最简单的方案就是不要信任客户端任何数据,以服务器数据校验为准,当然这种方案在一些客户端服务器交互比较少的情况是可以这样设计的,假设FPS,我们每次射击造成的伤害,一帧里面会射击好多次,不可能每次都去向服务器校验吧,交互太频繁了,体验也很差,但如果不校验的话,客户端就是修改武器属性值,这就是客户端作弊了,如何解决这样的问题,下文会介绍到防作弊的思路。

客户端如何作弊

手机端

我在当初手游刚起步的时候,flappy bird想必玩游戏的人都知道,是一款非常虐的手游,当时也非常火,朋友圈都在晒分数,后来我知道用一款《八门神器》的app能够作弊修改分数,然后修改成很高的分数晒在朋友圈就显得自己“很牛逼”,满足一下自己的虚荣心,原理就是修改分数内存值来达到作弊的效果。

PC端

PC上修改内存也有对应的软件,例如Cheat Engine,就类似手机上的八门神器,如何应用见下图:

1.gif

如何防作弊

Unity开发推荐一款插件Anti-Cheat Toolkit,自行上Asset Store上下载。具体原理就是我们通过数据混淆,UI上显示的值实际上是我们经过计算出来的值,所以内存修改器根据UI上显示出来的值去搜内存地址是搜不到的。

防作弊原理

private int curATK;
private int curAtkKey;
public int CurATK {
    get {
        return curATK ^ curAtkKey;
    }
    set {
        curAtkKey = Random.Range(0, 0xffff);
        curATK = value^curAtkKey;
    }
}
Salin selepas log masuk

分析:^运算是异或运算,需要一点二进制的知识,异或运算是相同为0,不同为1,下面举例:3 ^ 4=7,3对应的二进制是11,4对应的二进制是100,异或运算之后的结果二进制是111对应的十进制就是7,下图程序验证一下:

game.png

分析

根据上面的程序你是否真真明白是如何防作弊的呢,num是我们输入的值,例如玩家当前的金币数量是4,但我们UI上的显示并不是直接Coin.Text = num.ToString(),这样玩家搜到num的内存就很容易修改了,就作弊了,我们UI上的显示值是hiddenValue^cryptoKey的值。玩家就算搜出num的值并修改了,对我们显示金币真实的数量并没有影响。

分析插件Anti-Cheat Toolkit

我们Unity开发估计很多人都会用这个插件,他是如何实现数据加密的呢,我们看下手册就会知道它是将Unity的基本数据类型都封装了一个对应的数据类型,例如:int->ObscuredInt,Float->ObscuredFloat,string->ObscuredString等。拿ObscuredInt举例:

game-1.png会发现它封装了一个跟Int对应的结构体,并且有一个混淆因子cryptoKey=444444,我们再看string类型的封装的一个类ObscuredString,它的混淆因子是string cryptoKey=“4441”,如果我们用这个插件啥都不修改,那如果我是黑客,我知道当前某游戏是Unity开发的并且数据做了防外挂处理,那么我如何破解防外挂,我肯定首先就想到的就是这个插件,并且知道这些混淆因子,那么我就相对容易能破解出来,所以如何再进一步防外挂,就必须要对插件的混合因子再做一个混淆或者修改就显得很重要。

Atas ialah kandungan terperinci 游戏开发防作弊以及原理简述. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah penggunaan CPU yang sepatutnya semasa bermain permainan? Apakah penggunaan CPU yang sepatutnya semasa bermain permainan? Feb 19, 2024 am 11:21 AM

Adalah perkara biasa bagi permainan untuk memperlahankan komputer anda kerana ia menggunakan banyak sumber. Adalah penting untuk memahami penggunaan CPU anda semasa bermain permainan supaya anda boleh mengelak daripada membebankannya. Oleh itu, menjejaki penggunaan CPU yang sesuai adalah kunci untuk memastikan pengalaman permainan anda lancar. Dalam artikel ini, kami akan melihat penggunaan CPU yang sesuai yang perlu anda capai semasa permainan anda sedang berjalan. Penggunaan CPU semasa penggunaan CPU permainan ialah penunjuk penting beban kerja pemproses dan bergantung pada spesifikasi prestasi CPU. CPU yang lebih berkuasa biasanya mempunyai penggunaan yang lebih tinggi. CPU dengan lebih banyak teras dan benang boleh meningkatkan prestasi keseluruhan sistem anda. Sokongan berbilang benang membantu melepaskan potensi penuh CPU anda. Dalam permainan, penggunaan CPU bergantung pada penggunaan pemproses, yang boleh menjejaskan permainan

NAT Boost vs. Qos untuk permainan; NAT Boost vs. Qos untuk permainan; Feb 19, 2024 pm 07:00 PM

Dalam keadaan hari ini di mana hampir semua permainan adalah dalam talian, adalah tidak digalakkan untuk mengabaikan pengoptimuman rangkaian rumah. Hampir semua penghala dilengkapi dengan ciri NATBoost dan QoS yang direka untuk meningkatkan pengalaman permainan pengguna. Artikel ini akan meneroka definisi, kelebihan dan keburukan NATBoost dan QoS. NATBoost vs. Qos untuk permainan; NATBoost, juga dikenali sebagai Rangsangan Penterjemahan Alamat Rangkaian, ialah ciri terbina dalam penghala yang meningkatkan prestasinya. Ia amat penting untuk permainan kerana ia membantu mengurangkan kependaman rangkaian, iaitu masa yang diperlukan untuk data dipindahkan antara peranti permainan dan pelayan. Dengan mengoptimumkan kaedah pemprosesan data dalam penghala, NATBoost mencapai kelajuan pemprosesan data yang lebih pantas dan kependaman yang lebih rendah, sekali gus mengubah

Nvgpucomp64.dll menyebabkan permainan Windows PC ranap; Nvgpucomp64.dll menyebabkan permainan Windows PC ranap; Mar 26, 2024 am 08:20 AM

Jika Nvgpucomp64.dll menyebabkan permainan anda kerap ranap, penyelesaian yang disediakan di sini boleh membantu anda. Masalah ini biasanya disebabkan oleh pemacu kad grafik yang lapuk atau rosak, fail permainan yang rosak, dsb. Membetulkan isu ini boleh membantu anda menangani ranap permainan. Fail Nvgpucomp64.dll dikaitkan dengan kad grafik NVIDIA. Apabila fail ini ranap, permainan anda juga akan ranap. Ini biasanya berlaku dalam permainan seperti LordsoftheFallen, LiesofP, RocketLeague dan ApexLegends. Nvgpucomp64.dll ranap permainan pada Windows PC jika N

NVIDIA melancarkan fungsi RTX HDR: permainan yang tidak disokong menggunakan penapis AI untuk mencapai kesan visual HDR yang cantik NVIDIA melancarkan fungsi RTX HDR: permainan yang tidak disokong menggunakan penapis AI untuk mencapai kesan visual HDR yang cantik Feb 24, 2024 pm 06:37 PM

Menurut berita dari laman web ini pada 23 Februari, NVIDIA mengemas kini dan melancarkan aplikasi NVIDIA malam tadi, menyediakan pemain dengan pusat kawalan GPU bersatu baharu, membolehkan pemain merakam detik indah melalui alat rakaman berkuasa yang disediakan oleh terapung dalam permainan. tingkap. Dalam kemas kini ini, NVIDIA turut memperkenalkan fungsi RTXHDR Pengenalan rasmi dilampirkan seperti berikut: RTXHDR ialah penapis Freestyle baharu yang diperkasakan AI yang boleh memperkenalkan kesan visual cantik julat dinamik tinggi (HDR) ke dalam permainan yang tidak pada asalnya. menyokong HDR. Apa yang anda perlukan ialah monitor serasi HDR untuk menggunakan ciri ini dengan pelbagai jenis permainan berasaskan DirectX dan Vulkan. Selepas pemain mendayakan fungsi RTXHDR, permainan akan berjalan walaupun ia tidak menyokong HD

Pengenalan kepada cara memuat turun dan memasang permainan superpeople Pengenalan kepada cara memuat turun dan memasang permainan superpeople Mar 30, 2024 pm 04:01 PM

Permainan superpeople boleh dimuat turun melalui klien wap Saiz permainan ini ialah kira-kira 28G Ia biasanya mengambil masa satu setengah jam untuk memuat turun dan memasang Berikut ialah tutorial muat turun dan pemasangan khusus untuk anda. Kaedah baharu untuk memohon ujian tertutup global 1) Cari "SUPERPEOPLE" dalam kedai Steam (muat turun klien stim) 2) Klik "Minta akses kepada ujian tertutup SUPERPEOPLE" di bahagian bawah halaman kedai "SUPERPEOPLE" 3) Selepas mengklik butang minta butang akses, Permainan "SUPERPEOPLECBT" boleh disahkan dalam perpustakaan Steam 4) Klik butang pasang dalam "SUPERPEOPLECBT" dan muat turun

Di manakah Spider Solitaire dalam win11 Bagaimana untuk bermain permainan Spider Solitaire dalam win11 Di manakah Spider Solitaire dalam win11 Bagaimana untuk bermain permainan Spider Solitaire dalam win11 Mar 01, 2024 am 11:37 AM

Rakan-rakan yang telah cukup bermain karya AAA dan permainan mudah alih, adakah anda ingin menghidupkan semula permainan komputer zaman kanak-kanak anda? Kemudian mari kita cari Spider Solitaire dalam Windows 11 bersama-sama! Klik menu Mula pada antara muka, klik butang "Semua Apl"; Cari dan pilih "MicrosoftSolitaireCollection", iaitu aplikasi permainan siri Solitaire Microsoft; Selepas pemuatan selesai, masukkan antara muka pemilihan dan cari "Spider Solitaire"; Walaupun antara muka telah berubah sedikit, ia masih sama seperti dahulu

Panel kawalan Thrustmaster tidak berfungsi atau dipaparkan dengan betul [Tetap] Panel kawalan Thrustmaster tidak berfungsi atau dipaparkan dengan betul [Tetap] Feb 19, 2024 am 10:45 AM

Thrustmaster ialah syarikat yang mengkhusus dalam pengeluaran roda permainan dan aksesori permainan lain Produk rodanya sangat popular dalam komuniti permainan. Tetapan roda Thrustmaster boleh dipasang dan dilaraskan menggunakan panel kawalan Thrustmaster. Jika anda menghadapi masalah dengan panel kawalan tidak berfungsi atau dipaparkan, ia mungkin menjejaskan pengalaman permainan anda. Oleh itu, apabila ini berlaku, anda perlu menyemak sama ada sambungan adalah normal dan memastikan pemacu perisian dipasang dengan betul dan dikemas kini kepada versi terkini. Selain itu, anda juga boleh cuba memulakan semula peranti atau menyambung semula peranti untuk menyelesaikan kemungkinan kegagalan. Apabila anda menghadapi masalah, anda boleh merujuk kepada tapak web rasmi Thrustmaster atau menghubungi perkhidmatan pelanggan untuk mendapatkan bantuan lanjut. Bagaimana untuk mengakses Thrustma

ASUS mengeluarkan kemas kini BIOS untuk meningkatkan kestabilan permainan pada pemproses generasi ke-13/14 Intel ASUS mengeluarkan kemas kini BIOS untuk meningkatkan kestabilan permainan pada pemproses generasi ke-13/14 Intel Apr 20, 2024 pm 05:01 PM

Menurut berita dari laman web ini pada 20 April, ASUS baru-baru ini mengeluarkan kemas kini BIOS, yang meningkatkan ketidakstabilan seperti ranap ketika menjalankan permainan pada pemproses generasi ke-13/14 Intel. Tapak ini sebelum ini melaporkan bahawa pemain melaporkan masalah termasuk apabila menjalankan versi demo PC permainan pertempuran Bandai Namco "Tekken 8", walaupun jika komputer mempunyai memori dan memori video yang mencukupi, sistem akan ranap dan menggesa mesej ralat yang menunjukkan memori tidak mencukupi. Isu ranap yang sama juga muncul dalam banyak permainan seperti "Battlefield 2042", "Remnant 2", "Fortnite", "Lord of the Fallen", "Hogwarts Legacy" dan "The Finals". RAD menerbitkan artikel panjang pada Februari tahun ini, menjelaskan bahawa masalah ranap permainan adalah gabungan tetapan BIOS, frekuensi jam tinggi dan penggunaan kuasa tinggi pemproses Intel.