Суть такова делаю инжект ехе файла в самого себя(в текущем процессе выделяю память настраиваю релоки и тп...). Хочеться удобной отладки по сорцам, но так как "новый" образ совсем по другому адресу загружен исходники не отображаются в Visual Studio 2008. Это можно как - то обойти ?
Зачем, если есть системный лодер, это всё умеющий. Просто нужно некоторые условия создать: 1. Не релоцировать секции данных. 2. Обойти проверку NtAreMappedFilesTheSame(). 3. Изменить имя уже загруженного модуля, на время загрузки его копии.
XshStasX если сам инжект работает и необходимо просто отладить логику то LoadLibrary или LdrLoadDll должно быть достаточно
XshStasX Одладчик ДЛЛ видет? тогда правый щелчек и попробывать обновить либу. я не юзаю студию для отладки так что могу посоветовать WinDbg , там просо символьную подтянуть, хотя если либы нет, тогда дело сложней. sender0 И после этих вызовов идет перенастройка релоков?
shchetinin Нет длл не видет, и не увидет я просто выделяю память под образ. Настройка релоков идет. А в WinDbg символы можно подключить к образу длл если длл загруженна вручную? sender0 LdrLoadDll не пойдет, нужно отладить не саму логику а сам инжект.
XshStasX Конечно нет, символьная инженерия работает не посредвственно с имеджами, а не выделенной памяти, у вас практически превращается в шел, так что на только на уровне асма.