| Сейчас на форуме: (+5 невидимых) |
| eXeL@B —› Дневники и блоги —› Мой журнал: Syser, IDA, DirectX и прочее |
| Посл.ответ | Сообщение |
|
|
Создано: 08 мая 2013 19:30 · Личное сообщение · #1 Не совсем прозрачно, как работает Syser с PDB файлами. PDB символы у меня установлены стандартным образом в Windows\Symbols. Возможно ли использовать их без всякого 'Symbol Downloader'? Пробовал команду: sdscmd -a kernel32.dll Создался файл kernel32.sds в syser\symbols\dll. Пробовал ту же команду, убрав kernel32.pdb из стандартного места (руки до filemon-а не дошли). Создался точно такой же .sds файл. Всё как-то тихо-мирно и непонятно чего происходит... ![]() |
|
|
Создано: 09 мая 2013 04:31 · Личное сообщение · #2 |
|
|
Создано: 09 мая 2013 08:10 · Личное сообщение · #3 Проверил filemon-ом, он его (kernel32.pdb) всё таки находит, но читает всего несколько килобайт (сам файл больше мега). В результате полученный .sds всё таки увеличивает количество символов (938 без .sds vs 1328 с .sds). Но это не зависит от .pdb. (т.е. операцию sdscmd -a kernel32.dll есть смысл делать даже без установленной debug info). А символов в том .pdb много, но они пожёванные (__imp__RtlLookupAtomInAtomTable@12 и т.п.). Помнится, в давние времена, SoftICE из кушал и показывал. Жаль, что Syser их не признаёт. Ну да не суть важно, не kernel "отлаживать" собираемся... ![]() P.S. хорошо бы checked build раздобыть с непожёванными символами... ![]() |
|
|
Создано: 15 мая 2013 12:39 · Личное сообщение · #4 |
|
|
Создано: 15 мая 2013 15:58 · Личное сообщение · #5 sigil уважаемый. есть кнопка редактирования своей старой мессаги, пользуйтесь насчет пожёванные скорее декорированные (mangled) и ето нормально без декорации получите порукам, почему - ищите ответ сами
| Сообщение посчитали полезным: Abraham |
|
|
Создано: 15 мая 2013 17:08 · Поправил: sigil · Личное сообщение · #6 Спасибо за внимательность! Я неправильно указал пример символа, но было лень исправлять. Это был конечно не пожёванный символ, вот пожёванный: ??_C@_19IJOJOJIB@?$AAP?$AAA?$AAT?$AAH?$AA?$AA@ Глюкало syser не выдаёт ни один символ от dinput.dll, хотя исправно схавал и pdb, и экспорты. Количество сиволов для этого модуля пишет исправно, но по нужным адресам ничего нет. Команда sym DirectInput* ничего не выдаёт... ![]() P.S. Насчёт старой мессаги увидел кнопку "Стереть", но там был жестокий опрокид. А вот в слове"Правка" я нужного смысла (то бишь "Редактировать") не разглядел. Да и не особо приглядывался в 8-то утра... ![]() |
|
|
Создано: 15 мая 2013 18:01 · Личное сообщение · #7 |
|
|
Создано: 16 мая 2013 03:29 · Личное сообщение · #8 |
|
|
Создано: 16 мая 2013 19:59 · Личное сообщение · #9 |
|
|
Создано: 16 мая 2013 21:36 · Поправил: sendersu · Личное сообщение · #10 |
|
|
Создано: 17 мая 2013 03:02 · Поправил: plutos · Личное сообщение · #11 sigil: Может кому-то пригодится. Это врядли. Чтобы быть полезным ваш журнал должен содержать что-то конкретное: пошаговое описание ваших действий, результаты экспериментов, выводы, заключения и т.д. А тут что? "Не знаю, чего я сделал, но после часа всевозможных рестартов с вариациями экспорты от dinput появились... " Ерунда какая-то. Тогда уж лучше в off-top перенести и там делиться впечатлениями. ----- Give me a HANDLE and I will move the Earth. ![]() |
|
|
Создано: 17 мая 2013 12:48 · Личное сообщение · #12 Уважаемый plutos, если хотите обсудить со мной полезность моих постов -- добро пожаловать в личку! Уж Ваши-то комментарии точно никому не интересны и совершенный off-top здесь! Если Вы модератор, Вы имеете право решать -- каким где темам быть, а каким темам не жить. Если же нет, как говорится, arevior и всего самого доброго! Кто-нибудь знает, есть ли в Syser возможность на время отобразить содержимое экрана по hotkey? Помнится в SoftICE была такая фича... ![]() |
|
|
Создано: 17 мая 2013 12:54 · Личное сообщение · #13 |
|
|
Создано: 17 мая 2013 13:30 · Личное сообщение · #14 |
|
|
Создано: 17 мая 2013 13:42 · Личное сообщение · #15 DebuggerHelp.chm SyserCommand.chm задокументированы все комманды может вам все таки для начала читать? | Сообщение посчитали полезным: plutos |
|
|
Создано: 17 мая 2013 17:55 · Поправил: Модератор · Личное сообщение · #16 |
|
|
Создано: 17 мая 2013 21:02 · Поправил: sigil · Личное сообщение · #17 sdscmd -a на .dll создаёт .dll.sds файл в той же директории. Подсосал ли он .pdb можно узнать заглянув в него в самый конец, там должно быть 3 поля: имя_модуля полный_путь_до_pdb имя_dll_файла Но с kernel32.dll совсем другая история... Кстати, sdscmd -a на .pdb создаёт фактически аналогичный файл, только вместо имя_dll_файла там будет имя_pdb_файла. ![]() |
|
|
Создано: 17 мая 2013 21:09 · Поправил: sigil · Личное сообщение · #18 |
|
|
Создано: 17 мая 2013 21:36 · Поправил: sigil · Личное сообщение · #19 Если можно, переименуйте пожалуйста эту тему в "Мой журнал: Syser, IDA, DirectX и прочее". Я буду выкладывать сюда некоторые вопросы, с которыми сталкиваюсь. Потом самому возможно придётся читать лет через 10. Кто его знает, может ещё чего доведётся реверсить. Жизнь такая штука, всё возвращается на круги своя. Хороший туториал по . Аналогичный туториал по (сорри за PDF, в HTML не искал) ![]() |
|
|
Создано: 17 мая 2013 22:57 · Личное сообщение · #20 |
|
|
Создано: 18 мая 2013 08:53 · Поправил: sigil · Личное сообщение · #21 |
|
|
Создано: 23 мая 2013 17:30 · Поправил: sigil · Личное сообщение · #22 Вижу на форуме такие вопросы: правильно ли использовать декомпиляторы, но чаще -- "не могу понять точно за что отвечает переменная (или константа) X". Для меня IDA -- это способ охватить картину в масштабе. Но точки входа в интересуемый функционал отыскиваются в отладчике. А также, если не можешь понять за что отвечает переменная (или константа) X, просто поменяй её и посмотри что получится -- это может значительно сократить время. Если конечо уже есть догадки и знаешь на что примерно нужно обращать внимание. Но в чистом отладчике картина совсем другая. Там видишь одну деталь, можешь её пощупать. А пытаться выйти за рамки детали и обозреть общий смысл в отладчике -- это конечно самоубийство. Тогда и приходит на помощь IDA -- даёшь каждой детали, которую изучил в отладчике, осмысленное имя, и всё постепенно становится яснее и яснее. Это похоже на магию: 2 дня назад какая-то процедура была тёмным лесом, но когда поименовал каждую переменную, вызов и условный переход -- всё стало совсем по-другому! Но конечно, всё подряд копать и *каждую* деталь именовать смысла может быть мало, если есть определённая цель. В этом и заключается искусство крека -- искать только то, что нужно для достижения цели и не забуряться в сторонние раскопки. Для этого нужно эффективно работать со стеком вызовов. Это значит, находить именно тот уровень, который нужен, а не ковыряться на нижних его уровнях. Для этой цели нахождения нужного фрейма стека, как раз отладчик просто необходим (и кнопочка F6 в Syser). Это как раз то, что нужно сделать в первую очередь. Встать на брэкпойнты интересуемых феноменов программы, будь то изменения пользовательского интерфейса, работа с аппаратурой или считывание данных из файла. И затем проехать по стеку на кнопке F6 снизу доверху до тех пор, пока мы не упрёмся в главный или второстепенный цикл программы. Этот фрейм с циклом будет важным узлом в паутине наших раскопок. Потом другой феномен -- другой узелок, третий феномен -- третий узелок, затем в Иде находим связи между этими узлами -- вот уже вырисовывается сеточка. При изучении стека вызовов не забываем составлять его карту, а затем анализировать такие карты у различных феноменов на предмет совпадения на нижних уровнях. Момент схождения карт -- это ещё один узелок. Там где стеки пошли одинаковые будет уже вспомогательная, утилитарная логика, а нам ведь нужна бизнес-логика, значит эти нижние фреймы нам уже не столь интересны. ![]() |
|
|
Создано: 23 мая 2013 19:55 · Поправил: Dr0p · Личное сообщение · #23 |
|
|
Создано: 25 мая 2013 17:44 · Личное сообщение · #24 Питонисты наплодили PE-библиотек. Ну пипец!!! Делать что ли нечего?! Броузер ещё напишите на питоне! Кто, только, потом всё это питонистическое добро будет использовать и для каких целей, интересно мне знать... Нашёл 2 либы на C++ (слава богу, затесались в первых результатах поиска между питонистическим гувном). Кто-нибудь имел опыт сравнения оных? Может есть ещё какие? ![]() |
|
|
Создано: 30 июля 2013 16:04 · Личное сообщение · #25 апну может кто будет искать. начинал прожект с PeLib, в последствии перешел на pe_bliss Второй в использовании намного удобнее - свои иксепшены, нормальные обьекты и прочее. Приятно юзать. Хотя если кому нравится пейсать конструкции вида Code:
![]() Резолюшен - рекомендую PE Bliss ![]() |
|
|
Создано: 09 октября 2017 11:21 · Личное сообщение · #26 |
| eXeL@B —› Дневники и блоги —› Мой журнал: Syser, IDA, DirectX и прочее |













Для печати