Mixaill Posted March 30, 2019 Share 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 Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted March 31, 2019 Share Posted March 31, 2019 6 часов назад, Mixaill сказал: содержит авторазметку от IDA Это надо под каждую новую версию exe генерить map-файл (у мну в Делфи это так называется), чтобы смещения были актуальные. А IDA так медленно разбирает тынковой exe. У мну ~2 часа уходит на разбор. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted March 31, 2019 Share Posted March 31, 2019 @Mixaill спасибо, полезно, юзану на досуге 10 минут назад, StranikS_Scan сказал: ~2 часа уходит на разбор. Так же. Зато есть время попить чаю. @Mixaill а вы новый домен и сервак открыли? @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted March 31, 2019 Author Share Posted March 31, 2019 43 минуты назад, StranikS_Scan сказал: Это надо под каждую новую версию exe генерить map-файл (у мну в Делфи это так называется), чтобы смещения были актуальные. А IDA так медленно разбирает тынковой exe. У мну ~2 часа уходит на разбор. Ну, вам то оно не надо, это сделано мной :) У меня примерно час в IDA и 12 в Гидре. @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted March 31, 2019 Share Posted March 31, 2019 56 минут назад, Mixaill сказал: Ну, вам то оно не надо, это сделано мной :) У меня примерно час в IDA и 12 в Гидре. А как ты будешь обновлять карту символов? После каждого патча распарсивать и перезаливать на сервер? Или там не нужно каждый патч это делать? @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted March 31, 2019 Author Share Posted March 31, 2019 10 минут назад, StranikS_Scan сказал: А как ты будешь обновлять карту символов? После каждого патча распарсивать и перезаливать на сервер? Или там не нужно каждый патч это делать? Верно. После каждого патча: - автоанализ - импорт разметки Python/C - экспорт в PDB - заливка. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted March 31, 2019 Share Posted March 31, 2019 (edited) 21 hours ago, Mixaill said: Суть: вроде местами перепутано? а вообще- гениально, если и аргументы еще будут, то вообще бомба а если и локальные переменные... осуществимо? Edited March 31, 2019 by SkepticalFox 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted April 1, 2019 Author Share Posted April 1, 2019 (edited) 4 часа назад, SkepticalFox сказал: вроде местами перепутано? а вообще- гениально, если и аргументы еще будут, то вообще бомба а если и локальные переменные... осуществимо? 1) Нет, не перепутано. Заменил на более наглядную картинку. 2) Аргументы будут. 3) А как оно должно выглядеть с локальными переменными без исходного кода? Использовать в качестве него выхлоп hex-rays/ghidra? Edited April 1, 2019 by Mixaill @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted April 1, 2019 Share Posted April 1, 2019 9 hours ago, Mixaill said: Использовать в качестве него выхлоп hex-rays/ghidra? @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted April 2, 2019 Share Posted April 2, 2019 https://github.com/Mixaill/FakePDB/pull/1 pdb'шка для WoT 0.9.22.51, прошу добавить на сервер WorldOfTanks.pdb @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted April 3, 2019 Author Share 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 Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted April 4, 2019 Share 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 Link to comment Short link Share on other sites More sharing options...
Mixaill Posted April 4, 2019 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.