Wot Offsets 9.14.8318

Wot Offsets 9.14.8318

Прошло много времени с последней публикации, совесть замучила, выложил смещения.
В черновиках лежит несколько статей, включая реализацию на C# PyObject, с которым (через DLR, то есть используя dynamic) можно работать как с обычным классом. Класс PyObject еще требует основательного теста по преобразованию типов и использованию делегатов C# в Python.
Читать все…

Wot Offsets, Scripts 99.6394

Wot Offsets 99.6394
Скрипты 99.6394
Читать все…

World of tanks бот своими руками. Загрузка скрипта Python. Часть 6

Оглавление

Сегодня выйдем из порядка статей. Варианты поиска функций Python отложим на один из последующих выпусков.

Займемся непосредственно запуском Python, вернее загрузкой скрипта на этот языке. В будущем скрипт будет получать все необходимые данные и совершать действия.
Читать все…

Wot Offsets 99.6336, 99.6373 (Update)

Wot Offsets 99.6336, 99.6373
Скрипты 99.6373
Читать все…

Wot Offsets 98.6054

Wot Offsets 98.6054
Читать все…

Сайт в строю.

Прошу прошения за былую недоступность сайта. Это связано с получением и подготовкой к будущей установке SSL. Не все гладко получилось, сбил настройки DNS, а они долго по миру синхронизируются.

01.06.2015 или раньше выложу оффсеты на свежее обновление WOT.

World of tanks бот своими руками. Версия Python. Часть 5

Оглавление

Чтобы запускать собственные скрипты в клиенте, нам необходимо знать язык Python, а так же С и как код на С преобразуется в ассемблер (фактически в машинные коды). Python в World of tanks встроен непосредственно в клиент, а не отдельной библиотекой.

Практически всю информацию можно получить через скрипты Python. Так что усиленно постигаем сей язык, запасаемся исходниками Python (версию сейчас определим).

Чтобы знать какая версия Python нам нужна, поищем ее через IDA.
Читать все…

Wot Offsets 97.5812 — 97.5920 (Update)

Оффсеты World Of Tanks 97.5812/97.5840/97.5882/97.5920
Читать все…

Wot Offsets 97.5796 Common Test

Оффсеты World Of Tanks 97.5796 Common Test

Пока оформлен в модуль Delphi только Direct3D.
Читать все…

World of tanks бот своими руками. Перехват, запуск. Часть 4

Оглавление

Для Direct3D теория закончилась. Пора к практике.

Перехват EndScene будет осуществляться в специальной библиотеке (wotblib.dll), эту dll нужно будет подгрузить в запущенный клиент. Запускать и подгружать будет специальное приложение (wotblauncher.exe).

На данный момент наверно подавляющее большинство ботов пишутся под .Net (C#). Мне привычнее использовать Delphi, на нем и остановлюсь.
Перехват осуществим с помощью TLocalHook, текст модуля и он сам доступны в статье "Перехват Winapi. Класс Delphi".

Может не у всех установлен клиент тестовой версии, воспользуемся релизом (на момент написания 96.5663). Нумерация версии клиента взял из папки Update. В ней содержатся файлы с расширением ".patch". Обновления клиента имеют вид "wot_96.5663_96.5587_client.patch", первые цифры это новая версия, вторые старая. Patch-файлы представляют из себя 7zip-архивы. Если у них поменять расширения на ".7z", то легко открыть программами архиваторами. Не все обновления содержат сам WorldOfTanks.exe, а только скрипты. В перехвате EndScene последние не учитываются.

Замечание: Алгоритм поиска Direct3D не изменялся, так что он применим и к старым версиям.

Начнем со смещений, соберем их в кучку, точнее в один модуль.

unit uWotOffsets;

interface

const
  offsRenderContext = $202443C; // 96.5663
  offsRCD3D = $D8;              // 96.5663
  offsRCD3DDevice = $DC;        // 96.5663
  offsD3DDeviceEndScene = $A8;  // 96.5663

implementation

end.

Читать все…