diff --git a/battleye.8.17.2020/BEDaisy.sys b/badeye/badeye/BEDaisy.sys similarity index 100% rename from battleye.8.17.2020/BEDaisy.sys rename to badeye/badeye/BEDaisy.sys diff --git a/badeye/badeye/badeye.vcxproj b/badeye/badeye/badeye.vcxproj index 1ef8ad8..fe9df24 100644 --- a/badeye/badeye/badeye.vcxproj +++ b/badeye/badeye/badeye.vcxproj @@ -24,6 +24,7 @@ {faadd55d-e2c8-4e6d-be7e-6d8b5209f4f0} badeye 10.0 + badeye @@ -78,9 +79,11 @@ true + $(ProjectName) false + $(ProjectName) @@ -116,6 +119,7 @@ true _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true + stdcpp17 Console @@ -148,6 +152,9 @@ + + + diff --git a/badeye/badeye/badeye.vcxproj.filters b/badeye/badeye/badeye.vcxproj.filters index 02a3f13..c011e7b 100644 --- a/badeye/badeye/badeye.vcxproj.filters +++ b/badeye/badeye/badeye.vcxproj.filters @@ -9,6 +9,9 @@ {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + {7d90a3bf-3270-443e-8add-02f28e77071a} + @@ -20,4 +23,9 @@ Source Files + + + Resource Files + + \ No newline at end of file diff --git a/badeye/badeye/icon.rc b/badeye/badeye/icon.rc new file mode 100644 index 0000000..5856874 --- /dev/null +++ b/badeye/badeye/icon.rc @@ -0,0 +1,3 @@ +// Icon Resource Definition +#define MAIN_ICON 102 +MAIN_ICON ICON "small.ico" \ No newline at end of file diff --git a/badeye/badeye/main.cpp b/badeye/badeye/main.cpp index cf607d4..3a0ee88 100644 --- a/badeye/badeye/main.cpp +++ b/badeye/badeye/main.cpp @@ -9,7 +9,13 @@ int main(const int argc, const char** argv) return -1; } - const auto lsass_pid = util::get_process_id(L"lsass.exe"); + if (!util::get_pid(L"BEService.exe")) + { + std::perror("[-] please run BattlEye...\n"); + return -1; + } + + const auto lsass_pid = util::get_pid(L"lsass.exe"); std::printf("[+] lsass_pid => %p\n", lsass_pid); nozzle::injector inject(argv[1], lsass_pid); diff --git a/badeye/badeye/nozzle.hpp b/badeye/badeye/nozzle.hpp index 3a0243e..4e406cf 100644 --- a/badeye/badeye/nozzle.hpp +++ b/badeye/badeye/nozzle.hpp @@ -104,7 +104,7 @@ namespace util data.insert(data.begin(), std::istream_iterator(fstr), std::istream_iterator()); } - inline uint32_t get_process_id(const std::wstring_view process_name) + inline uint32_t get_pid(const std::wstring_view process_name) { // open a system snapshot of all loaded processes uq_handle snap_shot{ CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0), &CloseHandle }; @@ -506,7 +506,7 @@ namespace nozzle void injector::set_target(std::wstring proc_name) { - target_pid = util::get_process_id(proc_name); + target_pid = util::get_pid(proc_name); } void* injector::get_pe_image() const diff --git a/badeye/badeye/small.ico b/badeye/badeye/small.ico new file mode 100644 index 0000000..eb0fc5a Binary files /dev/null and b/badeye/badeye/small.ico differ diff --git a/badeye/inside/bedaisy.hpp b/badeye/inside/bedaisy.hpp index c9e296b..7e1c9b5 100644 --- a/badeye/inside/bedaisy.hpp +++ b/badeye/inside/bedaisy.hpp @@ -10,7 +10,7 @@ using ioctl_data = struct { HANDLE drv_handle; void* return_addr; }; namespace bedaisy { - struct beioctl + struct beioctl_t { void* ret_addr; void* handle; @@ -20,7 +20,7 @@ namespace bedaisy size_t* bytes_read; }; - inline ioctl_data get_ioctl_data() + __forceinline ioctl_data get_ioctl_data() { const auto wpm = reinterpret_cast( @@ -47,20 +47,20 @@ namespace bedaisy return { {}, {} }; } - inline void read(HANDLE proc_handle, std::uintptr_t addr, void* buffer, std::size_t size) + __forceinline void read(HANDLE proc_handle, std::uintptr_t addr, void* buffer, std::size_t size) { if (!addr || !buffer || !size) return; const auto [daisy_handle, return_addr] = get_ioctl_data(); - const beioctl ioctl_data + beioctl_t ioctl_data { return_addr, proc_handle, addr, buffer, size, - (size_t*)0xFFFFFFF3423424 + nullptr }; DWORD bytes_read; @@ -72,18 +72,18 @@ namespace bedaisy sizeof ioctl_data, nullptr, NULL, - &bytes_read, + (LPDWORD)&bytes_read, nullptr ); } - void write(HANDLE proc_handle, std::uintptr_t addr, void* buffer, std::size_t size) + __forceinline void write(HANDLE proc_handle, std::uintptr_t addr, void* buffer, std::size_t size) { if (!proc_handle || !addr) return; const auto [daisy_handle, return_addr] = get_ioctl_data(); - const beioctl ioctl_data + beioctl_t ioctl_data { return_addr, proc_handle, @@ -108,7 +108,7 @@ namespace bedaisy } template - inline T read(HANDLE proc_handle, std::uintptr_t addr) + __forceinline T read(HANDLE proc_handle, std::uintptr_t addr) { if (!addr || !proc_handle) return {}; @@ -119,7 +119,7 @@ namespace bedaisy } template - inline void write(HANDLE proc_handle, std::uintptr_t addr, const T& data) + __forceinline void write(HANDLE proc_handle, std::uintptr_t addr, const T& data) { if (!proc_handle || !addr) return; diff --git a/badeye/inside/dllmain.cpp b/badeye/inside/dllmain.cpp index ba168fc..d8860d4 100644 --- a/badeye/inside/dllmain.cpp +++ b/badeye/inside/dllmain.cpp @@ -1,29 +1,34 @@ -#include "rust.hpp" +#include "utils.hpp" -void example() +void run_example() { OutputDebugStringA("[lsass] main thread created!"); + const auto proc_handle = - OpenProcess( - PROCESS_QUERY_INFORMATION, FALSE, - utils::get_pid(L"RustClient.exe") - ); + OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, utils::get_pid(L"notepad.exe")); - if (proc_handle) + if (proc_handle == INVALID_HANDLE_VALUE) { - rust::set_fov(proc_handle, 120.f); - OutputDebugStringA("[lsass] set fov!"); + OutputDebugStringA("[lsass] failed to open handle to system process..."); + return; } -} + const auto ntdll_base = + reinterpret_cast(GetModuleHandleA("ntdll.dll")); + + if (bedaisy::read(proc_handle, ntdll_base) == IMAGE_DOS_SIGNATURE) + OutputDebugStringA("[lsass] read ntdll MZ from notepad.exe using BEDaisy.sys...\n"); + else + OutputDebugStringA("[lsass] failed to read MZ...\n"); +} std::atomic init = false; -extern "C" NTSTATUS nt_close(void* handle) +extern "C" auto nt_close(void* handle) -> NTSTATUS { if (!init.exchange(true)) { OutputDebugStringA("[lsass] creating thread!"); - CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&example, NULL, NULL, NULL); + CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&run_example, NULL, NULL, NULL); } return NULL; } \ No newline at end of file diff --git a/badeye/inside/inside.vcxproj b/badeye/inside/inside.vcxproj index 2caaa24..6b9a20c 100644 --- a/badeye/inside/inside.vcxproj +++ b/badeye/inside/inside.vcxproj @@ -165,7 +165,6 @@ - diff --git a/badeye/inside/inside.vcxproj.filters b/badeye/inside/inside.vcxproj.filters index bcfddca..bdb77d8 100644 --- a/badeye/inside/inside.vcxproj.filters +++ b/badeye/inside/inside.vcxproj.filters @@ -21,8 +21,5 @@ Header Files - - Header Files - \ No newline at end of file diff --git a/badeye/inside/rust.hpp b/badeye/inside/rust.hpp deleted file mode 100644 index 69813c8..0000000 --- a/badeye/inside/rust.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -#include "utils.hpp" -#define GFX_MANAGER 0x28C6F30 -#define CAMERA_MANAGER 0xB8 -#define CAMERA_FOV 0x18 - -namespace rust -{ - void set_fov(HANDLE proc_handle, float fov_value) - { - const auto asm_base = utils::get_module_base(proc_handle, L"GameAssembly.dll"); - - if (!asm_base) - return; - - const auto gfx_manager = bedaisy::read( - proc_handle, asm_base + GFX_MANAGER); - - if (!gfx_manager) - return; - - const auto camera_manager = bedaisy::read( - proc_handle, gfx_manager + CAMERA_MANAGER); - - if (!camera_manager) - return; - - bedaisy::write(proc_handle, camera_manager + CAMERA_FOV, fov_value); - } -} \ No newline at end of file diff --git a/badeye/inside/utils.hpp b/badeye/inside/utils.hpp index cf9a8ad..7793e62 100644 --- a/badeye/inside/utils.hpp +++ b/badeye/inside/utils.hpp @@ -7,17 +7,17 @@ namespace utils { - struct nt_peb + typedef struct _nt_peb { std::uintptr_t res[2]; std::uintptr_t image_base; std::uintptr_t ldr; std::uintptr_t proc_params; - }; + } nt_peb; - inline uint32_t get_pid(const std::wstring_view process_name) + __forceinline auto get_pid(const std::wstring_view process_name) -> std::uint32_t { - const auto handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + const auto handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); if (handle == INVALID_HANDLE_VALUE) return !CloseHandle(handle); @@ -34,7 +34,7 @@ namespace utils return NULL; } - inline PPEB get_process_peb(const HANDLE process_handle) + __forceinline auto get_process_peb(const HANDLE process_handle) -> nt_peb* { PROCESS_BASIC_INFORMATION process_info{}; ULONG bytes_returned; @@ -47,20 +47,18 @@ namespace utils &bytes_returned ) != ERROR_SUCCESS) return nullptr; - return process_info.PebBaseAddress; + + return reinterpret_cast(process_info.PebBaseAddress); } - // could do a snapshot but i have this code handy atm... - inline std::uintptr_t get_proc_base(const HANDLE proc_handle) + __forceinline auto get_proc_base(const HANDLE proc_handle) -> std::uintptr_t { - if (!proc_handle) return {}; const auto ppeb = reinterpret_cast(get_process_peb(proc_handle)); const auto peb = bedaisy::read(proc_handle, ppeb); return peb.image_base; } - // could do a snapshot but i have this code handy atm... - inline std::uintptr_t get_module_base(const HANDLE proc_handle, const wchar_t* module_handle) + __forceinline auto get_module_base(const HANDLE proc_handle, const wchar_t* module_handle) -> std::uintptr_t { const auto ppeb = reinterpret_cast(get_process_peb(proc_handle)); const auto peb = bedaisy::read(proc_handle, ppeb); diff --git a/battleye.8.17.2020/cmd.exe b/battleye.8.17.2020/cmd.exe deleted file mode 100644 index 2c97cc5..0000000 Binary files a/battleye.8.17.2020/cmd.exe and /dev/null differ diff --git a/example/BattlEye (8.17.2020)/BEDaisy (8.17.2020).sys b/example/BattlEye (8.17.2020)/BEDaisy (8.17.2020).sys new file mode 100644 index 0000000..592f663 Binary files /dev/null and b/example/BattlEye (8.17.2020)/BEDaisy (8.17.2020).sys differ diff --git a/battleye.8.17.2020/BELauncher.exe b/example/BattlEye (8.17.2020)/BELauncher.exe similarity index 100% rename from battleye.8.17.2020/BELauncher.exe rename to example/BattlEye (8.17.2020)/BELauncher.exe diff --git a/battleye.8.17.2020/BattlEye/BEClient_x64.dll b/example/BattlEye (8.17.2020)/BattlEye/BEClient_x64.dll similarity index 100% rename from battleye.8.17.2020/BattlEye/BEClient_x64.dll rename to example/BattlEye (8.17.2020)/BattlEye/BEClient_x64.dll diff --git a/battleye.8.17.2020/BattlEye/BELauncher.ini b/example/BattlEye (8.17.2020)/BattlEye/BELauncher.ini similarity index 71% rename from battleye.8.17.2020/BattlEye/BELauncher.ini rename to example/BattlEye (8.17.2020)/BattlEye/BELauncher.ini index 931a3b0..d03d4fd 100644 Binary files a/battleye.8.17.2020/BattlEye/BELauncher.ini and b/example/BattlEye (8.17.2020)/BattlEye/BELauncher.ini differ diff --git a/battleye.8.17.2020/BattlEye/BEService_x64.exe b/example/BattlEye (8.17.2020)/BattlEye/BEService_x64.exe similarity index 100% rename from battleye.8.17.2020/BattlEye/BEService_x64.exe rename to example/BattlEye (8.17.2020)/BattlEye/BEService_x64.exe diff --git a/battleye.8.17.2020/BattlEye/Install_BattlEye.bat b/example/BattlEye (8.17.2020)/BattlEye/Install_BattlEye.bat similarity index 100% rename from battleye.8.17.2020/BattlEye/Install_BattlEye.bat rename to example/BattlEye (8.17.2020)/BattlEye/Install_BattlEye.bat diff --git a/battleye.8.17.2020/BattlEye/Privacy/cs-CZ.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/cs-CZ.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/cs-CZ.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/cs-CZ.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/cs.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/cs.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/cs.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/cs.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/de-DE.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/de-DE.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/de-DE.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/de-DE.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/de.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/de.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/de.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/de.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/en-US.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/en-US.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/en-US.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/en-US.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/en.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/en.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/en.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/en.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/es-ES.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/es-ES.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/es-ES.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/es-ES.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/es-MX.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/es-MX.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/es-MX.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/es-MX.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/es.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/es.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/es.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/es.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/fr-FR.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/fr-FR.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/fr-FR.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/fr-FR.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/fr.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/fr.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/fr.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/fr.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/it-IT.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/it-IT.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/it-IT.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/it-IT.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/it.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/it.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/it.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/it.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ja-JP.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ja-JP.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ja-JP.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ja-JP.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ja.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ja.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ja.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ja.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ko-KR.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ko-KR.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ko-KR.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ko-KR.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ko.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ko.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ko.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ko.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/nl-NL.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/nl-NL.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/nl-NL.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/nl-NL.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/nl.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/nl.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/nl.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/nl.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/pl-PL.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/pl-PL.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/pl-PL.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/pl-PL.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/pl.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/pl.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/pl.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/pl.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/pt-BR.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/pt-BR.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/pt-BR.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/pt-BR.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/pt.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/pt.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/pt.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/pt.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ru-RU.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ru-RU.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ru-RU.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ru-RU.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/ru.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/ru.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/ru.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/ru.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/tr-TR.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/tr-TR.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/tr-TR.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/tr-TR.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/tr.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/tr.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/tr.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/tr.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/zh-CN.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/zh-CN.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/zh-CN.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/zh-CN.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/zh-TW.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/zh-TW.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/zh-TW.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/zh-TW.txt diff --git a/battleye.8.17.2020/BattlEye/Privacy/zh.txt b/example/BattlEye (8.17.2020)/BattlEye/Privacy/zh.txt similarity index 100% rename from battleye.8.17.2020/BattlEye/Privacy/zh.txt rename to example/BattlEye (8.17.2020)/BattlEye/Privacy/zh.txt diff --git a/battleye.8.17.2020/BattlEye/Uninstall_BattlEye.bat b/example/BattlEye (8.17.2020)/BattlEye/Uninstall_BattlEye.bat similarity index 100% rename from battleye.8.17.2020/BattlEye/Uninstall_BattlEye.bat rename to example/BattlEye (8.17.2020)/BattlEye/Uninstall_BattlEye.bat diff --git a/example/BattlEye (8.17.2020)/cmd.exe.lnk b/example/BattlEye (8.17.2020)/cmd.exe.lnk new file mode 100644 index 0000000..681f53e Binary files /dev/null and b/example/BattlEye (8.17.2020)/cmd.exe.lnk differ diff --git a/battleye.8.17.2020/README.md b/example/README.md similarity index 100% rename from battleye.8.17.2020/README.md rename to example/README.md diff --git a/example/badeye.exe b/example/badeye.exe new file mode 100644 index 0000000..7183ea4 Binary files /dev/null and b/example/badeye.exe differ diff --git a/example/desktop.ini b/example/desktop.ini new file mode 100644 index 0000000..d1ead95 --- /dev/null +++ b/example/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +Command Prompt.lnk=@%SystemRoot%\system32\shell32.dll,-22022 diff --git a/example/example.bat b/example/example.bat new file mode 100644 index 0000000..962dc71 --- /dev/null +++ b/example/example.bat @@ -0,0 +1,2 @@ +start notepad.exe +start badeye.exe inside.dll \ No newline at end of file diff --git a/example/inside.dll b/example/inside.dll new file mode 100644 index 0000000..8741092 Binary files /dev/null and b/example/inside.dll differ