re3ake
-
Постов
6 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные re3ake
-
-
-
Смещения нужных классов:
- Cheat Engine -> Mono Dissector
-
Имена нужных классов:
- Любой декомпилятор .NET
-
Смещения нужных классов:
-
В 17.08.2018 в 19:31, temtriss сказал:
Всем привет! Начал углублятся в написание драйверов режима ядра.
Не слушай тех кто ищет и не находит: https://github.com/markjandrews/wrk-v1.2
- 1
-
Credits: https://github.com/SMBB/R6SBase/blob/master/XorStr.h
Спойлер#pragma once #include <string> #include <array> #include <cstdarg> #define BEGIN_NAMESPACE( x ) namespace x { #define END_NAMESPACE } BEGIN_NAMESPACE(XorCompileTime) constexpr auto time = __TIME__; constexpr auto seed = static_cast< int >(time[7]) + static_cast< int >(time[6]) * 10 + static_cast< int >(time[4]) * 60 + static_cast< int >(time[3]) * 600 + static_cast< int >(time[1]) * 3600 + static_cast< int >(time[0]) * 36000; // 1988, Stephen Park and Keith Miller // "Random Number Generators: Good Ones Are Hard To Find", considered as "minimal standard" // Park-Miller 31 bit pseudo-random number generator, implemented with G. Carta's optimisation: // with 32-bit math and without division template < int N > struct RandomGenerator { private: static constexpr unsigned a = 16807; // 7^5 static constexpr unsigned m = 2147483647; // 2^31 - 1 static constexpr unsigned s = RandomGenerator< N - 1 >::value; static constexpr unsigned lo = a * (s & 0xFFFF); // Multiply lower 16 bits by 16807 static constexpr unsigned hi = a * (s >> 16); // Multiply higher 16 bits by 16807 static constexpr unsigned lo2 = lo + ((hi & 0x7FFF) << 16); // Combine lower 15 bits of hi with lo's upper bits static constexpr unsigned hi2 = hi >> 15; // Discard lower 15 bits of hi static constexpr unsigned lo3 = lo2 + hi; public: static constexpr unsigned max = m; static constexpr unsigned value = lo3 > m ? lo3 - m : lo3; }; template <> struct RandomGenerator< 0 > { static constexpr unsigned value = seed; }; template < int N, int M > struct RandomInt { static constexpr auto value = RandomGenerator< N + 1 >::value % M; }; template < int N > struct RandomChar { static const char value = static_cast< char >(1 + RandomInt< N, 0x7F - 1 >::value); }; template < size_t N, int K > struct XorString { private: const char _key; std::array< char, N + 1 > _encrypted; constexpr char enc(char c) const { return c ^ _key; } char dec(char c) const { return c ^ _key; } public: template < size_t... Is > constexpr __forceinline XorString(const char* str, std::index_sequence< Is... >) : _key(RandomChar< K >::value), _encrypted{ enc(str[Is])... } { } __forceinline decltype(auto) decrypt(void) { for (size_t i = 0; i < N; ++i) { _encrypted[i] = dec(_encrypted[i]); } _encrypted[N] = '\0'; return _encrypted.data(); } }; //-------------------------------------------------------------------------------- //-- Note: XorStr will __NOT__ work directly with functions like printf. // To work with them you need a wrapper function that takes a const char* // as parameter and passes it to printf and alike. // // The Microsoft Compiler/Linker is not working correctly with variadic // templates! // // Use the functions below or use std::cout (and similar)! //-------------------------------------------------------------------------------- static auto w_printf = [](const char* fmt, ...) { va_list args; va_start(args, fmt); vprintf_s(fmt, args); va_end(args); }; static auto w_printf_s = [](const char* fmt, ...) { va_list args; va_start(args, fmt); vprintf_s(fmt, args); va_end(args); }; static auto w_sprintf = [](char* buf, const char* fmt, ...) { va_list args; va_start(args, fmt); vsprintf(buf, fmt, args); va_end(args); }; static auto w_sprintf_s = [](char* buf, size_t buf_size, const char* fmt, ...) { va_list args; va_start(args, fmt); vsprintf_s(buf, buf_size, fmt, args); va_end(args); }; #ifdef NDEBUG #define XorStr( s ) ( XorCompileTime::XorString< sizeof( s ) - 1, __COUNTER__ >( s, std::make_index_sequence< sizeof( s ) - 1>() ).decrypt() ) #else #define XorStr( s ) ( s ) #endif END_NAMESPACE
-
Just disable\replace ObRegisterCallbacks
Xigncode3 как обойти ?
in Вопросы по взлому MMO игр
Опубликовано · Изменено пользователем re3ake
Создай свою сборку CE (измени имя девайса, драйвера, окна, класса и все остальное по мере необходимости), накрыть любым протектом
Если умеешь работать с ядром, хуч функции - прячь процесс, окна и все остальное по мере необходимости