PDA

Просмотр полной версии : IDB WoW 5.2.0 Build 16650


TOM_RUS
15.06.2010, 12:34
База иды (версии 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-of-warcraft/bots-programs/memory-editing/308140-wow-4-0-1-13164-info-dump-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
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,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
Помучал чуток сорцы плагина, теперь диффы почти мгновенно делаются :)

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

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

TOM_RUS
18.11.2010, 03:29
База 4.0.3.13287 (http://filebeam.com/41ffc2c5ae0c4d12c003e61c301f67b7)

TOM_RUS
23.11.2010, 17:53
База 4.0.3.13329 (http://filebeam.com/a18badf76c4b58f04c9940976a1e02e8)

TOM_RUS
07.02.2011, 13:04
База 4.0.6.13596 (http://filebeam.com/30dc82349c0dd0fa33e74fb93c951da4)

TOM_RUS
11.02.2011, 17:26
База 4.0.6.13623 (http://filebeam.com/28fb87d201707a29f6a01307c44ee679)

TOM_RUS
13.04.2011, 02:51
Близы не перестают удивлять, последние PTR билды для Mac идут с именами функций: http://www.mmowned.com/forums/world-of-warcraft/bots-programs/memory-editing/323676-mac-4-1-0-build-13850-release-w-debug-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
я правильно понимаю что в мак клиенте функционал battle.net.dll содержится прямо в основном файле ?

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

Йоха
13.04.2011, 19:26
блин, а что же он такой огромный ?

HuntsMan
13.04.2011, 23:02
блин, а что же он такой огромный ?
Дебаг :)

TOM_RUS
26.04.2011, 05:09
База 4.1.0.13914 (http://filebeam.com/1490b5d0ab448a73012c27a1c519fee4)

TOM_RUS
05.05.2011, 21:37
База 4.1.0.14007 (http://filebeam.com/76feb72f58862cf6ff2d1df18dffbe59)

Йоха
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 (http://filebeam.com/923665f86628fd10ed38703f735b4f26)

TOM_RUS
15.07.2011, 10:57
База 4.2.0.14333 для IDA 6.1 (http://filebeam.com/5755a9743d5e2f899dfc844174794e18)

Йоха
15.07.2011, 12:54
Нажимаю F5 - вылазит ошибка. Не понял как побороть

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

TOM_RUS
15.07.2011, 13:17
Нажимаю F5 - вылазит ошибка. Не понял как побороть

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

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

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

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

TOM_RUS
15.07.2011, 13:27
Я качал с рутрекера (http://rutracker.org/forum/viewtopic.php?t=3651872).

Chameleon
15.07.2011, 14:28
База 4.2.0.14333 для IDA 6.1 (http://filebeam.com/5755a9743d5e2f899dfc844174794e18)
Это та же база что и для 5.5 только пересозданная под 6.1?
А то нового тут вроде не очень много судя по диффу names.
Чтобы открывались старые базы с 5.5\китайской 6.1 помогает этот патч с exelab (https://ssl.exelab.ru/f/index.php?action=vthread&forum=3&topic=15481&page=13#18).

Йоха
15.07.2011, 15:23
Я качал с рутрекера (http://rutracker.org/forum/viewtopic.php?t=3651872).

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

TOM_RUS
15.07.2011, 16:26
Это та же база что и для 5.5 только пересозданная под 6.1?
А то нового тут вроде не очень много судя по диффу names.
Чтобы открывались старые базы с 5.5\китайской 6.1 помогает этот патч с exelab (https://ssl.exelab.ru/f/index.php?action=vthread&forum=3&topic=15481&page=13#18).

Та же, изменений минимум. Чтобы грузить старые базы там еще в виде плагина к IDA (http://exelab.ru/f/index.php?action=vthread&forum=3&topic=15481&page=14#9) есть на exelab.

LordJZ
15.07.2011, 18:14
У меня IDA 6.1 давно стояла (с июня), качал с TPB, работала как часы.

TOM_RUS
05.08.2011, 18:53
База 4.2.0.14480 для IDA 6.1 (http://filebeam.com/7995b76d789716bd1cc269edf2fa6c0b)

TOM_RUS
30.08.2011, 10:30
База 4.2.2.14545 для IDA 6.1 (http://filebeam.com/5e2bc1836a81967eaf2c1316de1985ac)

Lordronn
30.08.2011, 12:07
Декомпилированная база

http://filebeam.com/12f791af76d1550edffc657681af244c

TOM_RUS
29.11.2011, 12:59
База 4.3.0.15005 для IDA 6.1 (http://filebeam.com/acb57e41cd2da81d1577662ecff195b8)

Lordronn
29.11.2011, 16:52
Декомпилированная база

evilstar
06.12.2011, 12:57
ТОМ_RUS просим выложить базу 15050 :)

Йоха
06.12.2011, 14:11
присоединяюсь к просьбе

Lordronn
07.12.2011, 18:41
Присоеденяюсь

Chameleon
07.12.2011, 20:20
ТОМ_RUS просим выложить базу 15050 :)
Там же вроде разница совсем минимальная, судя по бинарному сравнению exe файлов, и даже оффсеты, наверно, не изменились т.к. размер файла такой же.

TOM_RUS
24.01.2012, 21:23
База 4.3.2.15211 для IDA 6.1 (http://filebeam.com/69f528a88b57cc46aa85044af8bac017)

TOM_RUS
28.02.2012, 12:54
База 4.3.3.15354 для IDA 6.1 (http://filebeam.com/aba61acf2f4ab4ffe27a4de9a7f2a64b)

TOM_RUS
17.04.2012, 10:49
База 4.3.4.15595 для IDA 6.1 (http://filebeam.com/4eee0b7355920190e61b2f4a787bb683)

TOM_RUS
12.09.2012, 01:24
База 5.0.4.16016 для IDA 6.1 (http://filebeam.com/47fd288f36d2bed62e8b8621d1585d28)
База 5.0.5.16048 для IDA 6.1 (http://filebeam.com/621cf25de5df321917ae19f1d8da6f18)

HuntsMan
25.09.2012, 21:16
16057 опкодами от 16048 не отличается?

TOM_RUS
27.11.2012, 14:01
База 5.1.0.16309 для IDA 6.1 (http://filebeam.com/9e1f034251c09d3511521d3c8b711482)

TOM_RUS
10.12.2012, 22:38
База 5.1.0.16357 для IDA 6.1 (http://filebeam.com/5059212f2551c8b2308e03e1b9c8167c)

TOM_RUS
05.03.2013, 17:57
База 5.2.0.16650 для IDA 6.1 (http://filebeam.com/55a197573bf550524cf7379dc22d9943)

HuntsMan
22.01.2014, 13:17
5.4.2:17688 x86 для IDA 6.1 (http://fbe.am/qqm)

acteros
29.03.2014, 15:27
Кто нибудь сталкивался при попытки сделать patchdiff2 выдает "IDB2 parsing cancelled or failed"

Amaru
30.03.2014, 03:08
неа
памяти не хватает?

Konctantin
30.03.2014, 07:52
Такое сообщение об ошибке выскакивает когда остался не сброшенный предыдущий diff у базы с которой вы ведете сравнивание.

HuntsMan
23.04.2014, 01:40
5.4.7:18019 x86 для IDA 6.1 (http://fbe.am/soY)

HuntsMan
24.04.2014, 01:52
6.0.1:18164 Beta x86 для IDA 6.1 (http://fbe.am/sqx)

SeT
21.05.2014, 00:47
5.4.7:18019 x86 для IDA 6.1 (http://fbe.am/soY)

Filebeam сломался, все файлы стали 0 байтов, судя по их фейсбуку уже давно.

upd: починили, сохранил на яндексе - http://yadi.sk/d/2S3AG0IBQwCQZ

Vai Konteh
10.06.2014, 04:24
Всем привет не могу открыть твою базу 18019 пишет database is corrupt у меня ida 6.1 x86 , что делать подскажите!

SeT
10.06.2014, 18:37
Всем привет не могу открыть твою базу 18019 пишет database is corrupt у меня ida 6.1 x86 , что делать подскажите!

Надо поставить плагин, ссылка в первых постах.

moJIto
09.10.2014, 19:38
Та же, изменений минимум. Чтобы грузить старые базы там еще в виде плагина к IDA (http://exelab.ru/f/index.php?action=vthread&forum=3&topic=15481&page=14#9) есть на exelab.


может кто перезалить? не получается базу wod открыть

Dubstep
30.11.2014, 14:54
может кто перезалить? не получается базу wod открыть

+++ Перезайлейте пожалуйста

Mayss
07.04.2015, 00:22
Осталась у кого нибудь база IDA под 5.4.8?

Dubstep
17.05.2015, 16:00
ребята выложите кто последнию базу вод или подскажите как с последней залитой тут обновить до последнего билда вод

moJIto
31.07.2015, 12:33
не валяется случаем у кого база 5.4.1 ? или может номер пакетика smsg_gameobjct_play_anim_kit знает кто?

Amaru
23.01.2016, 02:17
Господа, кто-нибудь сталкивался с проблемой накатить .dif файл обратно на базу?

Amaru
25.01.2016, 21:45
Господа, кто-нибудь сталкивался с проблемой накатить .dif файл обратно на базу?если кому-то интересно https://gist.github.com/Dramacydal/2dd5ae1a5502191f8e01

Konctantin
26.03.2016, 03:04
Накалякал тут скрипт для переименования lua функций в x64 клиенте, может кому-то пригодится:
luaFuncs = []

def DumpFunctionArray(ref, arrPtr, size, nameSpace):
if size > 0 and arrPtr > 1000:
for i in xrange(0, size):
ptr = arrPtr+(i*16)
name = GetString(Qword(ptr), -1, ASCSTR_C)
addr = Qword(ptr+8)
if name != None:
if nameSpace != None:
name = nameSpace+"."+name
#print("0x%016X 0x%016X %s" % (ptr, addr, name))
luaFuncs.append(["Script_"+name, addr])
else:
print("# Bad str ref at 0x%X and addr 0x%X" % (ref, ptr))
else:
print("# >> Bad parse at ref: 0x%X (Ptr: 0x%X, Size %i)" % (ref, arrPtr, size))

def DumpGlobalFuncs():
searchPatern = "48 89 5C 24 08 57 48 83 EC 20 48 8B ? ? ? ? ? 48 8B D9 45 33 C0"
regFunc = FindBinary(0, SEARCH_DOWN, searchPatern)
print("# !!! FrameScript::RegisterFunction = 0x%016X" % regFunc)
reference = RnextB(regFunc, 0)
while reference != BADADDR:
prev = PrevHead(reference)
opType = GetOpType(prev, 1)
opVal = GetOperandValue(prev, 0)
if opType == 2: #Memory Reference
# array has 1 function
arrPtr = GetOperandValue(prev, 1)
DumpFunctionArray(reference, arrPtr, 1, None)
elif opType == 3: #Base + Index
while (GetMnem(prev) != "lea"):
prev = PrevHead(prev)
arrPtr = GetOperandValue(prev, 1) # lea rbx, arr_adr
size = GetOperandValue(NextHead(prev), 1) # mov rdi, arr_size
DumpFunctionArray(reference, arrPtr, size, None)
else:
print("# >> ERR: Unhandled operand type at 0x%X: %u" % (reference, opType))
reference = RnextB(regFunc, reference)

def DumpNamespaceFunc():
searchPatern = "48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 20 48 8B 1D ? ? ? ? 8B F2"
regFunc = FindBinary(0, SEARCH_DOWN, searchPatern)
print("# !!! FrameScript::RegisterFunctionNamespaceWithCount = 0x%016X" % regFunc)
reference = RnextB(regFunc, 0)
while reference != BADADDR:
# find first lea r8, namespace_ptr
lea_r8 = PrevHead(reference)
while (GetMnem(lea_r8) != "lea" or GetOperandValue(lea_r8, 0) != 8 or GetOpType(lea_r8, 0) != 1):
lea_r8 = PrevHead(lea_r8)

# find first lea rcx, table_ptr
lea_rcx = PrevHead(reference)
while (GetMnem(lea_rcx) != "lea" or GetOperandValue(lea_rcx, 0) != 1 or GetOpType(lea_rcx, 0) != 1):
lea_rcx = PrevHead(lea_rcx)

#find first mov edx, rec_count
mov_edx = PrevHead(reference)
while (GetMnem(mov_edx) != "mov" or GetOperandValue(mov_edx, 0) != 2 or GetOpType(mov_edx, 0) != 1):
mov_edx = PrevHead(mov_edx)

#print("lea_r8 = %X, lea_rcx = %X, mov_edx = %X" % (lea_r8,lea_rcx,mov_edx))
size = GetOperandValue(mov_edx, 1)
table = GetOperandValue(lea_rcx, 1)
ns = GetOperandValue(lea_r8, 1)
namesp= GetString(ns, -1, ASCSTR_C)

DumpFunctionArray(reference, table, size, namesp)
reference = RnextB(regFunc, reference)

DumpNamespaceFunc();
DumpGlobalFuncs();

luaFuncs.sort()

for i in xrange(0, len(luaFuncs)):
print("MakeNameEx(0x%X, \"%s\", SN_NOWARN)" % (luaFuncs[i][1], luaFuncs[i][0]))
MakeNameEx(luaFuncs[i][1], luaFuncs[i][0], SN_NOWARN)


https://gist.github.com/Konctantin/32975edb3d886d157918