Как отследить код вызываемой функции из другого файлика. То есть к примеру internet explorer подсоединяет ntdll.dll и из этого файлика берёт функцию GetCommandLineA. Как в этом файлике найти код этой функции?
Это делается с помощью Софтайс или проги типо. В окне софтайса набери bpx GetCommandLianeA, если нужно из конкретной библиотеки то узнай ее имя в памяти (оно отличается от имени файла ер. ntdll.dll -> ntdll! или что-то типо) и добавь перед сервисом, а также можно и по номеру сервиса - не везде есть словами.
Я юзаю W32Dasm. Там выписываются все подсоединяемые функции и их имена. К примеру при вызове функции даётся её имя и ссыка(Я думаю как раз на её код). Ну типа GetCommandLineA, 0rd:0102h.
m0nkey Ты хочешь посмотреть, что делает функция GetCommandLineA ?! Это тяжелее. Недавно здесь вычитал, что в ntdll.dll только переходники к системным функциям и придется еще другие dll квырять , а может и ядро. А так : тем же W32Dasm детранслируй ntdll.dll и ищи код своей функции. Можно на отладчике, а другого способа нет : адрес ссылки в ячейке, про которую ты говоришь заполняется динамически при загрузке экзешки и дизассемблер уже ничего больше не даст.....
Жаль, что оконные проги нельзя просматривать так же, как и проги написанные под ДОС, а то натерпелись бы майкрософтовцы Спасибо...
m0nkey Это динамическая линковка. Она ничему не мешает. Просто найти подпрограмму тяжелее. Но прочитав у Касперски про dumpbin /imports dumpbin /exports, я понял что теперь буду делать это еще быстрее. Раньше приходилось лезть в отладчик и я не мог поверить, что люди с помощью одного W32Dasm ломают проги. Теперь верю.