Итак, сегодня узнал, что предыдущую тему по неизвестным мне причинам удалили. Т.к. остаются пользователи, которым тема патча ещё интересна - решил выложить оригиналы исходников сам. Если пригодятся - хорошо, не пригодятся - не страшно. В этой теме https://yougame.biz/threads/97565/ представленный вариант невалидный из-за неверного количества оффсетов, которое передаётся на 189й строчке. Кто внёс изменения в оригинальный код - не знаю. Полный архив с исходниками и бинарниками: https://anonfile.com/Ab3eKa39nb/OnetapToolkit_zip Пароль: onetap Собранные бинарники лежат в папке Binaries вместе с файлами отладочных символов, чтобы снять подозрения насчёт содержимого. Каждый может открыть бинарники в IDA Pro и увидеть код в бинарниках в максимально читабельном виде. Надеюсь, подозрений на вирусы в этот раз не возникнет. Содержимое: OnePatcher - непосредственно патчер для onetap.dll, в котором уже должна быть создана новая пустая секция с размером в 1024 байта. Insignia - утилитка для удобного поиска сигнатур. Поможет быстро обновить оффсеты при обновлении client_panorama.dll. onetap.dll - уже пропатченный чит из оригинальной темы. За работоспособность не ручаюсь, т.к. CS:GO не установлена и проверить не могу. Судя по содержимому секции ".patch", её пропатчили невалидным патчером, но, скорей всего, библиотека всё ещё рабочая. Как собрать самому: 1. Скачиваем Visual Studio Community: https://visualstudio.microsoft.com/ru/vs/ 2. При установке выбираем комплект для разработки десктопных приложений на C++ 3. Открываем OnePatch.sln или Insignia.sln, жмём Ctrl+Shift+B ("пересобрать") Как пользоваться патчером: 1. Положить onetap.dll с уже созданной пустой секцией в C:\Temp\ 2. Запустить OnePatch.exe Как создать новую секцию в чистом onetap.dll: 1. Скачиваем и устанавливаем CFF Explorer: https://ntcore.com/?page_id=388 2. ПКМ по onetap.dll -> Open with CFF Explorer 3. Section headers -> ПКМ по пустому месту -> Add section (empty space) 4. В появившемся окошке "Size of section" пишем "1024 d" без кавычек 5. ПКМ по полю Characteristics -> Change section flags 6. Ставим галочки "Is executable", "Is readable", "Is writeable", "Contains code" и "Contains initialized data" 7. Даблклик по полю Name и пишем название секции: например, ".patch" без кавычек 8. Заходим в Rebuilder и ставим галочки на "Rebuild PE Header" и "Update Checksum" 9. Жмём на дискету и сохраняем файл - готово Как пользоваться утилиткой для поиска сигнатур (Insignia): В командной строке: Insignia.exe sigs.txt out.txt client_panorama.dll sigs.txt - файл со списком сигнатур, RVA которых надо найти out.txt - файл, куда будут записаны найденные RVA client_panorama.dll - путь к бинарнику, в котором надо искать сигнатуры Вид sigs.txt: 00 11 22 33 ? 44 55 ? ? 66 ? FF FF ? ? 11 33 ? ? 44 11 12 AB ? ? ? ? 00 00 ... AA BB CC DD Для каждой сигнатуры в sigs.txt утилита найдёт RVA в бинарнике и запишет его в out.exe. Если сигнатуру найти не удалось, будет записан текст "NULL". RVA в out.txt записываются в том же порядке, в каком записаны сигнатуры в sigs.txt. RVA (Relative Virtual Address) - адрес относительно базового адреса загрузки бинарника в памяти (НЕ на диске!). Это уже готовый оффсет для загруженного в игру бинарника. Чтобы получить фактический адрес (VA), нужно к RVA прибавить базовый адрес бинарника в памяти игры: VA = hClientPanorama + RVA из out.txt К сожалению, сигнатур, по которым были найдены оффсеты, у меня нет (не я их искал), но разработчики с этого форума, думаю, легко составят список оффсетов и смогут поддерживать кряк в рабочем состоянии для каждого обновления игры. Что касается будущих обновлений: т.к. к индустрии читов и к играм я отношения не имею, от меня обновлений точно не будет. Но если найдутся желающие что-то делать дальше - you're welcome. P.S.: Улыбнуло, что на этом форуме есть тег "HoShiMin"