Сейчас на форуме: (+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. Кто его знает, может ещё чего доведётся реверсить. Жизнь такая штука, всё возвращается на круги своя. Хороший туториал по Аналогичный туториал по |
|
Создано: 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 и прочее |