Mixaill 1,740 Posted March 30, 2019 (edited) https://symbolserver.openwg.net Позволяет корректно отображать коллстек для worldoftanks.exe в отладчиках. Как это работает: При помощи генерации PDB файла, который содержит авторазметку от IDA и размеченные функции С/Python API. Обработка присходит в два этапа 1) экспортируем из IDB в .json с помощью скрипта dumpinfo.py 2) генерируем из .exe и .json результирующую .pdb с помощью pdbgen.exe Забрать скрипт и генератор можно тут: https://github.com/Mixaill/FakePDB/releases/tag/v0.0.0 Планы: * поддержка аргументов для функций С/Python API Суть: Кому может быть интересно: @SkepticalFox @reven86 @Pavel3333 Edited April 1, 2019 by Mixaill 9 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #455364 Posted March 31, 2019 6 часов назад, Mixaill сказал: содержит авторазметку от IDA Это надо под каждую новую версию exe генерить map-файл (у мну в Делфи это так называется), чтобы смещения были актуальные. А IDA так медленно разбирает тынковой exe. У мну ~2 часа уходит на разбор. 1 Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #455365 Posted March 31, 2019 @Mixaill спасибо, полезно, юзану на досуге 10 минут назад, StranikS_Scan сказал: ~2 часа уходит на разбор. Так же. Зато есть время попить чаю. @Mixaill а вы новый домен и сервак открыли? Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #455367 Posted March 31, 2019 43 минуты назад, StranikS_Scan сказал: Это надо под каждую новую версию exe генерить map-файл (у мну в Делфи это так называется), чтобы смещения были актуальные. А IDA так медленно разбирает тынковой exe. У мну ~2 часа уходит на разбор. Ну, вам то оно не надо, это сделано мной :) У меня примерно час в IDA и 12 в Гидре. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #455368 Posted March 31, 2019 56 минут назад, Mixaill сказал: Ну, вам то оно не надо, это сделано мной :) У меня примерно час в IDA и 12 в Гидре. А как ты будешь обновлять карту символов? После каждого патча распарсивать и перезаливать на сервер? Или там не нужно каждый патч это делать? Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #455369 Posted March 31, 2019 10 минут назад, StranikS_Scan сказал: А как ты будешь обновлять карту символов? После каждого патча распарсивать и перезаливать на сервер? Или там не нужно каждый патч это делать? Верно. После каждого патча: - автоанализ - импорт разметки Python/C - экспорт в PDB - заливка. 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #455438 Posted March 31, 2019 (edited) 21 hours ago, Mixaill said: Суть: вроде местами перепутано? а вообще- гениально, если и аргументы еще будут, то вообще бомба а если и локальные переменные... осуществимо? Edited March 31, 2019 by SkepticalFox 1 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #455449 Posted April 1, 2019 (edited) 4 часа назад, SkepticalFox сказал: вроде местами перепутано? а вообще- гениально, если и аргументы еще будут, то вообще бомба а если и локальные переменные... осуществимо? 1) Нет, не перепутано. Заменил на более наглядную картинку. 2) Аргументы будут. 3) А как оно должно выглядеть с локальными переменными без исходного кода? Использовать в качестве него выхлоп hex-rays/ghidra? Edited April 1, 2019 by Mixaill Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #455487 Posted April 1, 2019 9 hours ago, Mixaill said: Использовать в качестве него выхлоп hex-rays/ghidra? Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #455633 Posted April 2, 2019 https://github.com/Mixaill/FakePDB/pull/1 pdb'шка для WoT 0.9.22.51, прошу добавить на сервер WorldOfTanks.pdb Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #455725 Posted April 3, 2019 В 02.04.2019 в 16:20, Pavel3333 сказал: https://github.com/Mixaill/FakePDB/pull/1 pdb'шка для WoT 0.9.22.51, прошу добавить на сервер WorldOfTanks.pdb добавлено для 0.9.22.51 и 1.4.1.206 2 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #455728 Posted April 4, 2019 (edited) А .exe id это что? ЗЫ: У мну есть пяток idb клиентов хочу pdb сделать, да выложить. А, блин exe-ников нема, только idb есть. Упс, нашел exe-шники. Короче вот чего у меня есть: Это exe без idb Это idb без exe Могу из первых сделать pdb а чего делать со вторыми не знаю. Edited April 4, 2019 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #455731 Posted April 4, 2019 3 часа назад, StranikS_Scan сказал: А .exe id это что? symstore_hash = "%X%X" % (pe.FILE_HEADER.TimeDateStamp, pe.OPTIONAL_HEADER.SizeOfImage) 3 часа назад, StranikS_Scan сказал: Это idb без exe начиная с 1.0.1 у меня своя коллекция есть :) 2 Quote Share this post Link to post Short link Share on other sites