git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@ Reversing Steam CEG Protection @@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@ by Push_BirthDay_Ret @@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
This analysis of Warface in-game communication protocol is against multiple points of the Crytek Terms of Service. So... I am not responsible for any other people acts trying to reproduce what's shown here, and I discourage anyone not aware of the possible risks (permanent ban, account deletion, etc. ). Please do read the Crytek ToS before attempting to reproduce what's described here.
Update: Some of the exploits or remarks have already been fixed the time you read this. Indeed, while I was writing this document, I also raised the issues to Crytek devs and let them time to digest. I've kept them here in hope it will make good stories to tell. Sadly for them, the main content of this analysis still remains valid.
Summary
| float nrand(float2 uv) | |
| { | |
| return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453); | |
| } |
| postgres: | |
| image: postgres:9.4 | |
| volumes: | |
| - ./init.sql:/docker-entrypoint-initdb.d/init.sql |
| #pragma once | |
| #include <stdint.h> | |
| //fnv1a 32 and 64 bit hash functions | |
| // key is the data to hash, len is the size of the data (or how much of it to hash against) | |
| // code license: public domain or equivalent | |
| // post: https://notes.underscorediscovery.com/constexpr-fnv1a/ | |
| inline const uint32_t hash_32_fnv1a(const void* key, const uint32_t len) { |
| // To see this run, you first stub out these imports. Then put the file in a Uint8Array. | |
| // let slice = new Slice(array); | |
| // let font = new OTFFont(slice); | |
| // Then you can call methods like font.drawText(canvasContext, ) | |
| // | |
| // | |
| import { ICanvasContext } from "./ICanvasContext" | |
| import { log as Log } from "./log" | |
| const log = Log.create("OPENTYPE"); |