[Ссылки могут видеть только зарегистрированные пользователи. ]
Версия: 0.1b
Моя программа для работы с протоколом PW. Написана на C#, исполняет LUA скрипты. Для работы необходим файл main.lua с функцией Main в папке scripts. Данный способ позволяет редактировать код прямо в блокноте, а LUA-синтаксис, в свою очередь, достаточно прост. Для редактирования также доступны пакеты авторизации. Все пакеты автоматически шифруются и расшифровываются.
Это бета версия. В скрипте, что идет в архиве, я сделал, собственно, саму авторизацию, вывод чата в консоль и, если выбранный персонаж женского пола, автопринятие предложения «взять на руки».
Для запуска необходимо указать логин и пароль в settings.lua
Функции OOG в LUA:
Console:
Print(message, line) — выводит в консоль сообщение серого цвета, последний параметр указывать необязательно, если его указать как false, сообщение будет выведено в той же строке.
Log(message) — выводит в консоль сообщение белого цвета с новой строки
Warning(message) — выводит в консоль сообщение желтого цвета с новой строки
Error(message) — выводит в консоль сообщение красного цвета с новой строки
Success(message) — выводит в консоль сообщение зеленого цвета с новой строки
ReceivedPacket:
ReadBytes(count) — читает из потока заданное количество байт
ReadByte() — читает байт
ReadWord() — читает одно машинное слово (ushort)
ReadDword() — читает двойное машинное слово (uint)
ReadString() — берет из потока CUInt и читает текст этой длины в кодировке ANSI
ReadUString() — берет из потока CUInt и читает текст этой длины в кодировке Unicode
ReadCUInt() — читает из потока CUInt
SendPacket:
WriteCUInt(value) — пишет в поток CUInt
WriteBytes(value) — пишет значения lua таблицы (массива) в поток
WriteWord(value, swap) — пишет в поток одно машинное слово, последний параметр необязателен, если он равен true, будет изменен порядок байт на противоположный
WriteDword(value, swap) — пишет в поток двойное машинное слово, последний параметр необязателен, если он равен true, будет изменен порядок байт на противоположный
WriteByte(value) — пишет указанный байт
WriteString(value) — пишет в поток текст в кодировке ANSI, дописывая перед ним длину в CUInt
WriteUString(value) — пишет в поток текст в кодировке Unicode, дописывая перед ним длину в CUInt
PackContainer(opcode) — служит для упаковки текущего потока в контейнер, после необходимо вызывать SendPacket:Send(0x22)
SendPacket(opcode) — пакует текущий поток в пакет и отправляет на сервер
Protocol:
Connect(link, port) — вызывает подключение по указанному адресу и порту
Disconnect() — разрывает текущее соединение
InitRC4(CMKey, SMKey, Hash, login) — создает объекты RC4 для автоматического шифрования и расшифровки трафика
Crypt:
GetHash(login, password, key, tablename) — создает lua таблицу с заданным именем и заполняет её хешем
Math:
RandomTable(tablename, count) — создает и заполняет указанную lua таблицу случайными данными длиной count
Скачать можно из аттача к сообщению.
VirusTotal (PWLuaOOG.exe): [Ссылки могут видеть только зарегистрированные пользователи. ]
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] [Программа] PWLuaOOG 0.1b
Последний раз редактировалось Desmond Hume; 26.08.2014 в 15:08.