Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Как заставить 64-bit екзешник подгружать длл?

  • Автор темы Автор темы xnxkzeu
  • Дата начала Дата начала
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,806
Реакции
1,074
Погуглил, нашел пару видосов 5-6 летней давности, но ничего рабочего так и не нашел(мб руки кривые), нужна ваша помощь

P.S. Искал что на русском, что на английском языках, никакой разницы в результатах почти
 
Вообще не понял вопроса. У тебя есть исходник этого экзешника или же ты патчишь его?
 
Патчить собрался
Как вариант - jmp в entrypoint'e на кастомную функцию с вызовом LoadLibraryA и последующим джампом обратно с восстановлением оригинальных байтов
 
а значения регистров лучше всего с помощью pushad и popad сохранять и восстанавливать, т.к. по одному не всегда работает.
 
Как вариант - jmp в entrypoint'e на кастомную функцию с вызовом LoadLibraryA и последующим джампом обратно с восстановлением оригинальных байтов
Под функцию надо свою секцию скорее всего создать, я правильно понимаю? И название дллки в .rdata?
 
а значения регистров лучше всего с помощью pushad и popad сохранять и восстанавливать, т.к. по одному не всегда работает.
на х64 придется пушать все по отдельности, от rax до rdx, rsp rbp rsi rdi
 
Под функцию надо свою секцию скорее всего создать, я правильно понимаю? И название дллки в .rdata?
я опыта патчинга еще не имел, но записал бы все (имя длл и код) в конец последней секции и подправил бы размер этой секции в заголовке.
 
Самый простой способ подгрузить свою dll до вызова EP таргет файла это добавить новую запись в Import Table таргета.

Делается это в 2 клика при помощи Import Adder в CFF Explorer.
 
Самый простой способ подгрузить свою dll до вызова EP таргет файла это добавить новую запись в Import Table таргета.

Делается это в 2 клика при помощи Import Adder в CFF Explorer.
Окей спасибо, попробую
 
Самый простой способ подгрузить свою dll до вызова EP таргет файла это добавить новую запись в Import Table таргета.

Делается это в 2 клика при помощи Import Adder в CFF Explorer.
а собственно добавил а как теперь заставить сам экзешник вызвать функцию?
 
можешь поставить хук в нужный тебе момент исполнения программы
только чтобы поставить хук нужно чтобы из длл вызывалась функция в которой все эти хуки будут ставится
 
Закройте тему, нашел решение
 
только чтобы поставить хук нужно чтобы из длл вызывалась функция в которой все эти хуки будут ставится
пропатчить в отладчике что-бы после EP срабатывал хук, который уже будет вызывать твой dllmain
 
пропатчить в отладчике что-бы после EP срабатывал хук, который уже будет вызывать твой dllmain
да не, лол, оказывается если CFF Explorer'ом добавить свою длл, dllmain сам будет вызываться
 
Назад
Сверху Снизу