Diskuze: C# - Algoritmus na získání hashu od procesů
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 20 zpráv z 20.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Byte ze souboru (obsah souboru)
public static String GetMD5HashFromFile(String fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
Pokud běží třeba 30 procesu najednou a každý bude mít prumerne 10MB, tak se budeš snažit každých 5 vterin z disku číst 300MB, SSD to asi zvládne, ale plotnak to nedá.
A jen pro info, u me ted bezi 60 procesu, i kdyz nemam nic moc extra pozapinany
178 při normální práci (IDE, Browser, Sourcetree, Outlook a pár drobností)
jo, ono vlastne system processes jsou jeste dole zvlast, jinak doma mam spoustu procesu pozakazovanej, hlavne kvuli hram
Jsi mi připomněl, když jsem hrával BF4 na E8300 s 3GB ram, každýho 0,1% CPU a 1MB RAM se hodilo a vypínal jsem snad i explorer
V dnešní době už to vůbec neřeším.
Já právě potřebuju detekovat prostě cheaty do jedné Unity hry.. a je
problém že nevím jak..
Protože tyhle cheaty obejdou vše.. i Získání všech assemblies (Prostě ty
cheaty to nevypíše, skryje je to)
U těch cheatu je i dobré vědět, jak fungujou, to víš? Jinak kontrola každých 5s je zbytečná, radši po náhodny době s větším intervalem a nekontrolovatelně vždy všechny procesy.
Máme Test.dll v něm jsou nějaké cheaty (AIMBOT, Radar, Crosshair a
další)... Ten se do hry dostane pomocí Injectoru který je nedetekovaný
(MonoInjector)
https://github.com/…MonoInjector (jeden z
MonoInjectoru)
Ještě dodám, že MonoInjector je potřeba spustit v CMD.exe pomocí
příkazů nějak takhle:
MonoInjector.exe --target Game.exe --dll Test.dll --namespace Test--class Main
--method LoadMod --unlink
Ten --unlink
právě skryje ty cheaty v GetAssemblies() funkci
Jestli se obre divam, tak to je posune ukazatel zacatku tech assemblies-> pokud prectes pamet tesne pred, tak bys tam tu cheatovaci assembly mel najit
Takže říkáš abych prováděl GetAssemblies() co 0.5 vteřin? nebo snad ještě rychleji?
Ne, v paměti před místem, kde je jejich seznam, by mohla bejt ta skrytá .
GetAssemblies se podívá do paměti a odtamtud ti pošle seznam všech naloadovaných assemblies a jestli jsem se dobře koukal, tak i to unlinkované assembly tam pořád je, na začátku toho seznamu, ale má přenastaveno, aby začínalo až na druhé položce.
Takže jak to mám detekovat?
Uz jsem to psal - precist pamet kousek pred mistem, kde je ulozeny seznam Assemblies.
Mna by zaujmalo na co to potrebujes.
Zobrazeno 20 zpráv z 20.