Логин:
Пароль:
Настройки
http://lfforever.ru/design/black.css http://lfforever.ru/design/ds_dw.css http://lfforever.ru/design/xmas.css
Присоединяйся к каналу LFF в Discord!
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Способы подключения длл к ехе.
Способы подключения длл к ехе.
30.08.12 19:57 | #1

Репутация: 12
Постов: 362
Кто знает еще какие-нибудь способы подключения длл к ехе, кроме способа Нашего EdL'а?)
[ Маленький Фриз говорит: это сообщение было отредактировано!]
ERKD team togever NTLH FOREVER!
30.08.12 20:15 | #2

Репутация: 66
Постов: 1020
подключения длл и ехе к чему?
разве эдл придумывал какой-то способ?

30.08.12 20:17 | #3

Репутация: 12
Постов: 362
Сори, описался чуть-чуть, Длл К ехе
ERKD team togever NTLH FOREVER!
30.08.12 20:25 | #4

Репутация: 66
Постов: 1020
а что в обычном способе не так? он же тру
30.08.12 21:52 | #5

Репутация: 416
Постов: 8072
Soul-AR, зачем?

Принцип инициализации ДЛЛ всегда будет примерно одинаковый в любой программе:
1. Запускается программа (точка старта, определенная строка адреса)
2. Идёт считывание данных по порядку приоритетов\расположения (в данном случае длл всегда ниже по приоритету, чем сама инициализация программы)
3. Человек вставляет сразу после точки инициализации JMP туда, где прописан адрес загрузки DLL, имя файла и т.д. в ACSII кодировке (способ прописки есть в видеоуроке)
4. После подключения DLL делается JMP обратно, к следующей строке, которая должна была грузится, если бы мы не выполнили пункт 3.
5. Теперь программа продолжает работать так же, как обычно, но с добавленными данными из внешнего файла, в данном случае - DLL.

способ не станет меняться, каким бы извратом вы не занимались. Только вот адреса могут слегка изменяться, в зависимости от того как и куда они были перемещены после изменений тем или иным кодо-ковыряльщиком.

31.08.12 06:12 | #6

Репутация: 14
Постов: 691
Soul-AR, Даже если подключишь dll к exe dll не будет работать. Адреса новой ехе смещены, поэтому dll не будет поддерживать новый ехе, остается разве что переписать dll к нужным адресам.
[ Маленький Фриз говорит: это сообщение было отредактировано!]

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
31.08.12 10:02 | #7

Репутация: 84
Постов: 1151
den_lol
31.08.12 10:09 | #8

Репутация: 12
Постов: 362
Quote (EXtraBender)
Soul-AR, Даже если подключишь dll к exe dll не будет работать. Адреса новой ехе смещены, поэтому dll не будет поддерживать новый ехе, остается разве что переписать dll к нужным адресам.

Я тебе это и говорил >_>
Quote (SURIK)
den_lol

Не не не, не подумай, я все еще жду))))Просто интересно)

ERKD team togever NTLH FOREVER!
28.12.12 18:08 | #9

Репутация: 169
Постов: 1658
Напиши фундаментальные принципы, может кому пригодиться для саморазвития.
Существует два способа подключения dll к исполняемому файлу:
1) Динамический
2) Статический
При динамическом способе используются api-функции windows: LoadLibrary, GetProcAddress. Как зафигачить их в экзешник - думайте сами, решайти сами:
а) в пустые участки,
б) в те участки кода которые не использутся и их можно смело затереть
в) в новую секцию добавленную через какой-нибудь PE-редактор.

При статическом это на стадии компилирования исходников в EXE. Создаётся таблица импорта откуда и берутся имена длл-ок и и функции которые используются. То есть можно при создании своей длл дать ей имя такое же как и как у какой-нибудь dll в таблице импорта экзешника. И нужный код вставить в функцию с тем же именем что и какая нибудь функция из длл. Естественно нужно будет по завершению своего кода добавить и выполнение оригинальной функции, вообще надо будет сделать функции-заглушки которые будут вызывать оригинальные функции из оригинальной dll, чтобы экзешник корректно работал. Может ещё какие-то есть ньюансы, щас всего не упомнишь.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
28.12.12 18:20 | #10

Репутация: 14
Постов: 691
Статический способ слишком муторный

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
28.12.12 18:31 | #11

Репутация: 165
Постов: 672
Мне кажется, Satanael так не думает)))
28.12.12 18:49 | #12

Репутация: 169
Постов: 1658
Скажем так у каждого свои плюсы и минусы, оба примерно одинаковы по муторности (осоебнно если всё самому делать), правда ещё от индивидуальных особенностей пациента зависит, вон в оригинальном EXE LF2 небыло функий LoadLibrary, GetProcAddress - приходилось ещё и эту проблему решать дополнительно.

Чем хорош статический способ для тех кто это просто качает - им просто нужно длл положить рядом с экзешником и всё. При динамическом им чуть больше телодвижений надо сделать.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Способы подключения длл к ехе.
  • Страница 1 из 1
  • 1
Поиск: