creaturecache.wdb
Разбираю структуру "creaturecache.wdb", вот исходная функция:
Код:
bool __thiscall sub_75CE08(void *this, int a2, unsigned int a3) Код:
int() скорее всего эта функция считывает строку с размером, который ранее был прочитан и за'xor'ен, что-то в этом роде: Код:
*(_DWORD *)(v3 + 4) ^= (unsigned int)&unk_FFFFFF & (CDataStore__Read11Bits((int)&v23, v27) ^ *(_DWORD *)(v3 + 4)); Код:
char __thiscall sub_A45DED(int this, int a2, int a3, char a4) Ибо если просто считывать как строку, то поля сдвигаются и дальше идут не верные значения. |
получилось пока что следующее:
эта функция всего-то читает cшную строку без последнего символа (\0) по размеру считанному выше. Код:
internal string ReadString2(int m_size) Код:
while ( 1 ) Код:
0 1 4 5 8 12 16 20 |
Ладно фиг с ним, сделал так:
Код:
while (red.RemainigLength >= 4) ЗЫ. Думаю тему можно закрыть. |
Цитата:
|
Цитата:
Цитата:
|
я когда разбирал сниф 5.4.0, нормально разбирались только пакеты буржуйские пакеты, на пакетах с русскими строками вываливались ошибки
там тоже было такое чтение строк и странные операции с длиной строки |
Вложений: 1
Цитата:
Цитата:
Код:
char __thiscall CDataStore__GetSizedString2(int this, int a2, int a3, char a4) Код:
public string ReadString2(int m_size) прикладываю исходники |
Код:
// entry = wdb_stream.ReadInt32(); |
Как все красиво в кэше
в хендлере пакета идет вот так Код:
[Parser(Opcode.SMSG_CREATURE_QUERY_RESPONSE)] |
Цитата:
|
Цитата:
|
Где-то видел скрипт для IDA для переименования Lua функций, но не могу найти.
Если у кого есть, поделитесь пожалуйста, а то вручную долго это делать, а ума написать свой скрипт - не хватает. |
Цитата:
0x7108B9 |
это что получается сюда они запихнули все обработчики?
Код:
char __thiscall sub_78D225(void *this, int a2, int a3, int a4) |
давно не смотрел в то что делается в клиенте, но это же просто пипец какой-то, это что они там такого курят?
Код:
char __thiscall sub_724F6A(int this, int a2, int a3) |
Цитата:
|
Скрипт для переименования Lua функций:
Завтра приду на работу проверю работоспособность. Код:
typedef char* string; |
у меня смутное чувство, что он не все найдет скрипты
сейчас не единый массив объявлялок, а несколько, они разнесены по разным местам |
Я вот такой скрипт раньше юзал для переименования lua скритп функций: http://paste2.org/PGvInAsW
Код:
#include <ida.idc> |
Текущее время: 14:17. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS