Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Копаем клиент (http://mangos.ytdb.ru/forumdisplay.php?f=35)
-   -   IDB WoW 5.2.0 Build 16650 (http://mangos.ytdb.ru/showthread.php?t=1473)

TOM_RUS 15.06.2010 12:34

IDB WoW 5.2.0 Build 16650
 
База иды (версии 5.5) с кучей переименованных функций
3.3.3.11723 http://filebeam.com/3e0737d4a1cd992b89bce92fa4bc61b9.
Может кому-то будет полезна.

TOM_RUS 28.06.2010 13:20

3.3.5.12213 http://filebeam.com/3aca0f7c41ea0ed6ba60a87a0d464fd4

Konctantin 30.06.2010 10:31

Посидел сегодня за ИДА, и пробовал найти гиде сидит ключик сессии, но у меня ничего не получилось.

Вопрос, ничего не сменилось?

LordJZ 30.06.2010 10:52

Сменилось, не знаю как у TOM_RUS отмечена теперь функция. Я нахожу по CMSG_REPORT_BUG.

TOM_RUS 30.06.2010 12:06

3.3.5.12340 http://filebeam.com/19ba9a5a6a78045b5aee383bf88f9290
006B0970 ClientServices__GetCurrentConnection
00631F90 ClientServices__GetSessionKey

Konctantin 30.06.2010 13:43

это понятно,
Код:

int __cdecl ClientServices__GetCurrentConnection()
{
  int result; // eax@1

  result = dword_C79CF4;
  if ( !dword_C79CF4 )
    sub_8889B0((int)&byte_9E14FF, (int)&byte_9E14FF, dword_C79CF4);
  return result;
}

а вот для чего это?
Код:

int __cdecl GetNetClientPtr()
{
  return dword_C79CEC;
}


Fmut 01.07.2010 15:13

Опкоды как в Катаклизме пересортированы?

TOM_RUS 25.10.2010 13:45

Кто нибудь пытался сделать Patchdiff билда 12340 и 13164? У меня что-то фризится плагин, либо очень медленно работает...

alien 25.10.2010 13:49

+1 я пробовал запускать. работал 3 часа но так и не дождался завершения.
Сделал только переименование функций по файлику который выложен тут
http://www.mmowned.com/forums/world-...mp-thread.html
Вот что получилось (BaseAddres 0x1000)
http://filebeam.com/901c7dc4a9a805435278fbe47fd3867d

Konctantin 25.10.2010 13:57

Цитата:

Кто нибудь пытался сделать Patchdiff билда 12340 и 13164? У меня что-то фризится плагин, либо очень медленно работает...
4 часа уже висит, и пока ничего...

А обычно сколько времени занимало сравнение?

Konctantin 25.10.2010 15:25

4,5 часа сверок
Код:

Scanning for functions ...
parsing second idb...
parsing first idb...
diffing...
Identical functions:  15189
Matched functions:    2796
Unmatched functions 1: 15246
Unmatched functions 2: 9086
done!
parsing second function...
parsing first function...
diffing functions...
done!

только я вот не могу разобраться, как теперь массово переименовать функции...

TOM_RUS 25.10.2010 15:42

Цитата:

Сообщение от Konctantin (Сообщение 15397)
4,5 часа сверок
Код:

Scanning for functions ...
parsing second idb...
parsing first idb...
diffing...
Identical functions:  15189
Matched functions:    2796
Unmatched functions 1: 15246
Unmatched functions 2: 9086
done!
parsing second function...
parsing first function...
diffing functions...
done!

только я вот не могу разобраться, как теперь массово переименовать функции...

А залейте куда нить результаты в txt файлах (Identical, Matched, Unmatched1,2) (из окна иды можно копировать)...

P.S. Обычно даже на моем калькуляторе занимало примерно пол часа.

Konctantin 25.10.2010 15:52

Вложений: 1
ноут, целерон 1,7, 1 гб оперативки и + запущено 2 1С 81, вот 4,5 часа и висело

ЗЫ. только тут есть уже переименованные вручную функции, их немного, около 30 штук

TOM_RUS 26.10.2010 09:20

Запустил у себя на ночь плагин, прошло уже 8 часов и он так и не завершил свою работу. А в архиве из предыдущего поста файлы identical и matched одинаковые + похоже сделан rebase, мне не подходит :(

TOM_RUS 26.10.2010 14:57

Вложений: 1
Помучал чуток сорцы плагина, теперь диффы почти мгновенно делаются :)
Код:

http://paste2.org/p/1055573
Для компила требуется IDA SDK 5.7.

Сравнение баз 12213 и 12340:
Код:

---------------------------------------------------
PatchDiff Plugin v2.0.9
Copyright (c) 2010, Nicolas Pouvesle
Copyright (C) 2007-2009, Tenable Network Security, Inc
---------------------------------------------------

Scanning for functions ...
parsing second idb...
parsing first idb...
diffing...
diff_engine_initialize(): done!
clist_init(): done!
file G:\cache_335\Wow_12340.idb
type 0, identical 26104, matched 14, unmatched 7082
type 1, identical 26295, matched 14, unmatched 6700
type 2, identical 27073, matched 14, unmatched 5144
type 3, identical 27073, matched 14, unmatched 5144
type 4, identical 27073, matched 14, unmatched 5144
type 6, identical 27073, matched 14, unmatched 5144
type 7, identical 27073, matched 14, unmatched 5144
diff_run(): done!
Identical functions:  26022
Matched functions:    14
Unmatched functions 1: 505
Unmatched functions 2: 3793
done!

Как видно типы 3,4,5,6,7 не прибавили никаких совпадений, а основная задержка при сравнении новых баз 12340 и 13164 была именно на типе 6, я решил его пропустить, что существенно увеличило скорость работы плагина.

Сравнение баз 12340 и 13164:
Код:

---------------------------------------------------
PatchDiff Plugin v2.0.9
Copyright (c) 2010, Nicolas Pouvesle
Copyright (C) 2007-2009, Tenable Network Security, Inc
---------------------------------------------------

Scanning for functions ...
parsing second idb...
parsing first idb...
diffing...
diff_engine_initialize(): done!
clist_init(): done!
file G:\cache_335\Wow_13164_clean.idb
type 0, identical 14608, matched 2201, unmatched 31960
type 1, identical 15362, matched 2214, unmatched 30426
type 2, identical 15375, matched 2214, unmatched 30400
type 3, identical 15375, matched 2214, unmatched 30400
type 4, identical 15375, matched 2214, unmatched 30400
type 5, identical 15375, matched 2214, unmatched 30400
type 7, identical 15375, matched 2214, unmatched 30400
diff_run(): done!
Identical functions:  14897
Matched functions:    2214
Unmatched functions 1: 12718
Unmatched functions 2: 15937
done!

Как видно и здесь типы 3,4,5,7 (тип 6 был пропущен) никаких новых совпадений не добавили.

Прикрепил скомпиленый плагин с выше описанными фиксами, компилился в VS2010.

TOM_RUS 27.10.2010 11:11

Дифф 13164 vs 13205: http://paste2.org/p/1057035.
Скрипт для импорта в базу http://pastebin.com/pPEuq1Su.
База 4.0.1.13205 http://filebeam.com/6ebd2575b7e0bd69bda81a5b5c139681

abdula123 12.11.2010 16:34

Цитата:

Сообщение от TOM_RUS (Сообщение 15390)
Кто нибудь пытался сделать Patchdiff билда 12340 и 13164? У меня что-то фризится плагин, либо очень медленно работает...

есть успехи в автоматизации сопоставления опкодов?

TOM_RUS 18.11.2010 03:29

База 4.0.3.13287

TOM_RUS 23.11.2010 17:53

База 4.0.3.13329

TOM_RUS 07.02.2011 13:04

База 4.0.6.13596

TOM_RUS 11.02.2011 17:26

База 4.0.6.13623

TOM_RUS 13.04.2011 02:51

Близы не перестают удивлять, последние PTR билды для Mac идут с именами функций: http://www.mmowned.com/forums/world-...ebug-info.html

MaS0n 13.04.2011 14:08

Спасибо за инфу, появился вопрос -насколько сильно различаются основные функции, ну например работы с C44Martix от билдов ниже версией, а так же версий клиента 335 и т.д. Понятно, что разные компиляторы и т.д, есть ли смысл пытатся вручную (думаю что автоматизированно это не получится) переносить некоторые названия, например вот работа с графикой, отрисовкой, движением и т.д? Т.к сложновато в чистом коде догадатся что эта функция делает)

И еще такой вопросик - как можно получать данные клиентских структур, Unit, Player, Item, Movement и т.д, пробовал составить - не очень получилось, поделитесь кто может или намекните как делается :)

PS : TOM_RUS, если можно, ответьте на последнее личное сообщение)

Йоха 13.04.2011 19:08

я правильно понимаю что в мак клиенте функционал battle.net.dll содержится прямо в основном файле ?

TOM_RUS 13.04.2011 19:14

Цитата:

Сообщение от Йоха (Сообщение 21001)
я правильно понимаю что в мак клиенте функционал battle.net.dll содержится прямо в основном файле ?

Нет, отдельный файл есть Battle.net.bundle.

Йоха 13.04.2011 19:26

блин, а что же он такой огромный ?

HuntsMan 13.04.2011 23:02

Цитата:

Сообщение от Йоха (Сообщение 21005)
блин, а что же он такой огромный ?

Дебаг :)

TOM_RUS 26.04.2011 05:09

База 4.1.0.13914

TOM_RUS 05.05.2011 21:37

База 4.1.0.14007

Йоха 11.05.2011 13:07

у меня на работе тупорылый инет, половину сайтов не открывает. Может кто-нибудь выложить эту базу на другой обменник (желательно русский какой-нибудь)

wk23 11.05.2011 13:36

http://ifolder.ru/23451442

TOM_RUS 27.06.2011 05:22

База 4.2.0.14333

TOM_RUS 15.07.2011 10:57

База 4.2.0.14333 для IDA 6.1

Йоха 15.07.2011 12:54

Вложений: 1
Нажимаю F5 - вылазит ошибка. Не понял как побороть

P.S. нашел, надо в опциях поставить sizeof(bool) = 4

TOM_RUS 15.07.2011 13:17

Цитата:

Сообщение от Йоха (Сообщение 24142)
Нажимаю F5 - вылазит ошибка. Не понял как побороть

P.S. нашел, надо в опциях поставить sizeof(bool) = 4

У меня такая ошибка была тока в китайской версии, а в новой утечке от ESET вроде все ок, может просто не на всех функциях вываливается...
Сейчас стоит sizeof(bool)=1.

Йоха 15.07.2011 13:24

Цитата:

Сообщение от TOM_RUS (Сообщение 24143)
У меня такая ошибка была тока в китайской версии, а в новой утечке от ESET вроде все ок, может просто не на всех функциях вываливается...
Сейчас стоит sizeof(bool)=1.

я скачал иду с взора, не знаю какая там версия

TOM_RUS 15.07.2011 13:27

Я качал с рутрекера.

Chameleon 15.07.2011 14:28

Цитата:

Сообщение от TOM_RUS (Сообщение 24140)

Это та же база что и для 5.5 только пересозданная под 6.1?
А то нового тут вроде не очень много судя по диффу names.
Чтобы открывались старые базы с 5.5\китайской 6.1 помогает этот патч с exelab.

Йоха 15.07.2011 15:23

Цитата:

Сообщение от TOM_RUS (Сообщение 24145)
Я качал с рутрекера.

скачал с рутрекера, нормально работает -) у взора видимо кривая китайская

TOM_RUS 15.07.2011 16:26

Цитата:

Сообщение от Chameleon (Сообщение 24147)
Это та же база что и для 5.5 только пересозданная под 6.1?
А то нового тут вроде не очень много судя по диффу names.
Чтобы открывались старые базы с 5.5\китайской 6.1 помогает этот патч с exelab.

Та же, изменений минимум. Чтобы грузить старые базы там еще в виде плагина к IDA есть на exelab.


Текущее время: 10:47. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS