Пишу лоадер который посредством лоадпе запускает в себе пе файл, который может что то пытаться печатать в консоль
Задача получить в буфер то, что попытался вывести загруженный пе файл в консоль
Пе файл может иметь несколько потоков, потому с хвбп здесь сложности + проблемы совместимости если приложение тоже использует хвбп
Печатать возможна следующими способами:
kernel32 WriteConsoleA/W
kernelbase WriteFile
ntdll NtWriteFile
printf и прочие функции из msvcrt можно перенаправить на вывод в файл при помощи freopen, но это не совсем то, что мне нужно
Прямой хук на NtWriteFile работает - но это палевный костыль
Хук еат\иат много пользы не дает
SetStdHandle \ изменение в пебе ручками так же не меняет результат
Если у кого есть идеи как это более грамотно реализовать - буду благодарен
Задача получить в буфер то, что попытался вывести загруженный пе файл в консоль
Пе файл может иметь несколько потоков, потому с хвбп здесь сложности + проблемы совместимости если приложение тоже использует хвбп
Печатать возможна следующими способами:
kernel32 WriteConsoleA/W
kernelbase WriteFile
ntdll NtWriteFile
printf и прочие функции из msvcrt можно перенаправить на вывод в файл при помощи freopen, но это не совсем то, что мне нужно
Прямой хук на NtWriteFile работает - но это палевный костыль
Хук еат\иат много пользы не дает
SetStdHandle \ изменение в пебе ручками так же не меняет результат
Если у кого есть идеи как это более грамотно реализовать - буду благодарен