Перейти к содержанию

Лидеры

  1. partoftheworlD

    partoftheworlD

    Пользователи+


    • Баллы

      6

    • Постов

      2 687


  2. MasterGH

    MasterGH

    Ветераны


    • Баллы

      1

    • Постов

      2 999


  3. gmz

    gmz

    Разработчики (+)


    • Баллы

      1

    • Постов

      400


Популярный контент

Показан контент с высокой репутацией 06.01.2016 во всех областях

  1. (Впервые пишу статью, так что критика приветствуется. Многие наверное знают этот способ.) Итак, для начала нам нужно зайти в свойства игры в Steam Параметры запуска и прописать –insecure. «-insecure» отключает VAC, и мы можем спокойно начинать взлом, не боясь, что нас забанят. Не забудьте удалить это иначе не пустит на сервера. В поиске мы должны будем найти игроков, которые отражаются на карте в момент приближения к ним. Искать лучше тип «Byte» 1 видим противника на радаре, 0 не видим. У меня нашелся 1 адрес. Выделяем адрес и нажимаем F5 или ПКМ по адресу и Find out what accesses this address. Вызывается всего одна инструкция. Что же она делает? Она записывает в 8 битный регистр AL значение 1 или 0 в зависимости от того виден ли противник на радаре или нет. Так же видим регистры EDI и ESI.ESI используется как адрес источника. Значит это базовый адрес. EDI- адрес назначения в этой инструкции и по его значению видим, что это ID игрока. Структура инструкции выглядит следующим образом [Базовый адрес + ID игрока + 0xD8D] и пишется в нее значение типа BYTE. Что с этим можно сделать? Например запустить цикл с перебором всех игроков. void DrawingPlayers() { DWORD esi; bool enable = true; ReadProcessMemory(hProcess, (LPVOID)(ClientDll + 0x4CC068), &esi, sizeof(DWORD), 0); for (int index = 0; index < 64; ++index) { WriteProcessMemory(hProcess, (LPVOID)(esi + index + 0xD8D), &enable, sizeof(bool), 0); } }
    3 балла
  2. Перед началом поиска прописываем в параметры запуска " -insecure". void NoFlash() { DWORD LocalBase; float disable = 0; ReadProcessMemory(hProcess, (LPCVOID)(Client.dll + 0x4C6708), &LocalBase, sizeof(LocalBase), 0); WriteProcessMemory(hProcess, (LPCVOID)(LocalBase + 0x1450), &disable, sizeof(disable), 0); Sleep(1); }
    3 балла
  3. 0xE9 - jmp? сделай mov rax,xxxxxxxxxxxxxxxx а потом jmp rax
    1 балл
  4. Пока простейший пример (остальные примеры в этой теме) Некоторые тонкости. /MERGE:.data=.text /MERGE:.rdata=.text /ALIGN:32 /ALIGN:512 /ENTRY:main /ENTRY:WinMain /NODEFAULTLIB msvcrt.lib #include <windows.h> #pragma comment(linker, "/NODEFAULTLIB /MERGE:.data=.text /MERGE:.rdata=.text /ALIGN:512 /ENTRY:WinMain") int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { MessageBox(0, "Hello, World!", "Tiny application", MB_ICONINFORMATION); return 0; } 00400230 >/$ 55 PUSH EBP 00400231 |. 8BEC MOV EBP,ESP 00400233 |. 6A 40 PUSH 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL 00400235 |. 68 08024000 PUSH tiny.00400208 ; |Title = "Tiny application" 0040023A |. 68 1C024000 PUSH tiny.0040021C ; |Text = "Hello, World!" 0040023F |. 6A 00 PUSH 0 ; |hOwner = NULL 00400241 |. FF15 00024000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>> ; \MessageBoxA 00400247 |. 33C0 XOR EAX,EAX 00400249 |. 5D POP EBP 0040024A \. C2 1000 RETN 10 /ALIGN:16 /DRIVER
    1 балл
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.