Показать сообщение отдельно

  #11  
Старый 09.03.2009, 20:59
Flame of Soul
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
Провел на форуме:
1740746

Репутация: 435
Отправить сообщение для Flame of Soul с помощью MSN
По умолчанию

Я так поняла, что на основе того, что специальное поле в PE-заголовке, хранящее относительный RVA Entry Point (точки входа) выполняется не первой, а последней.

Цитата:
лично я обходил это след. образом: подгружал копию либы ntdll.dll , kernel32.dll и восстанавливал затёртые байты функций (там вначале функции идёт jmp на аутпостовскую либу). В итоге - полное молчание аутпоста даже на инжект в сервисхост.
вот тут я немного не поняла, ты восстанавливал затертые байты, и прыжка на либу не происходило или ты вызывал "анхук". Поточнее пожалуйста, можно в ПМ.

Цитата:
С таким же успехом можно было запихнуть бэкапщик в TLS
Лучше засунуть в точку входа безобидный код, а из TLS совершить переход. TLS просто добавит какое-то значение к некоторой ячейке памяти, в пределах области стека, а потом вернет управление системе. Таким образом можно в отладчике тонны инструкций перерыть или дождаться момента передачи управления на точку входа или хотя бы область памяти, не принадлежащую системе, но в границах PE-файла или одной из dll. И тогда можно заметить что Entry Point не получает управления! А аверы не могут трассировать код, исполняющийся на живой ОС. Так как они понятия не имеют что находится в данной конкретной ячейке памяти.

В общем да, можно фантазировать сколько влезет ) hidden Спасибо за код.
 
Ответить с цитированием