|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
|
Каким образом заставить программу загружать dll из указанной папки?04.02.2011, 13:00. Показов 7813. Ответов 10
Метки нет (Все метки)
Есть одна программка, которую надо заставить подгружать .dll'ку из другой папки.
Пишу античит к одной игрушке, нужно сделать так, чтобы при запуске, прога первым делом искала .dll в указанной мною папке, а затем уже в текущей директории откуда она запускается и директориях system32, system и т.д Подскажите как это сделать правильно. Это возможно 100%, по крайней мере на Delphi.. Процесс запускаю через CreateProcess();
0
|
|
| 04.02.2011, 13:00 | |
|
Ответы с готовыми решениями:
10
Можно ли каким-то образом заставить WebClient создавать папки для скачиваемых файлов Каким образом лучше загружать данные из текстового файла? Можно ли обойтись при этом только js, не используя php? Возможно ли как-то заставить BIOS, каким то образом определить название проца |
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
||||||
| 04.02.2011, 13:23 | ||||||
|
Как вариант:
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
||
| 04.02.2011, 13:37 [ТС] | ||
|
Прога загружает dll'ку, допустим, "test.dll". Мне нужно чтобы она ее сперва искала в указанной мной директории, а затем уже во всех остальных. вариант с LoadLibrary не подходит, т.к. нет исходников. Добавлено через 6 минут Советовали перехватывать адрес LoadLibrary и заменять на свою функцию. Надеюсь есть решение проще.
0
|
||
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
| 04.02.2011, 13:43 | |
|
По мне так напрашивается решение помещения dll непосредственно в папку с игрой, и все
![]() Иначе, имхо, вам необходимо перехватить вызов программы. 1. http://www.rsdn.ru -> Статьи -> Базовые сервисы -> Перехват вызовов API 2. Джеффри Рихтер, "Windows для профессионалов", глава 22 Это если я правильно вас понял
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
||
| 04.02.2011, 13:57 [ТС] | ||
|
Мне же нужно чтобы прога эту "test.dll" грузила не из папки откуда ее запускают, а из любой папки, которую я укажу.
0
|
||
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
| 04.02.2011, 14:07 | |
|
Я конечно все понимаю, что у вас видение вашего проекта лучше, но все же понятнее было бы называть вещи своими именами, а не просто "прога". Я понимаю вас так: программе-античиту необходимо подключать dll откуда бы то ни было, а она изначально пытается запустить dll из своей папки. Это логично. И я бы пытался решить через, как я уже сказал, перехват вызова программы. Может кто еще что порекомендует.
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
||
| 04.02.2011, 14:27 [ТС] | ||
|
нужно чтобы этот mygine.dll игра цепляла из директории античита, а не из своей текущей директории. Сейчас подгрузка dll происходит вышеописанным образом. изменить "engine.dll" на более длинную строку, допустим на c:\asd\mygine.dll, не имеется возможным т.к. можно затиреть другие байты. то есть в распоряжении только 10символов. Похоже что придется перехватывать адрес loadlibrary. ищу вашу книгу...
0
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 04.02.2011, 15:55 | |
|
как тут уже говорили, у рихтера целая глава этому посвящена
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
|||||||
| 05.02.2011, 12:17 [ТС] | |||||||
|
Решение - найдено: с помощью вот этого http://newgre.net/ninjectlib внедряю свою dll в процесс. DLL перехватывает функцию LoadLibraryA и заменяет на мою. В моей идет условие
Добавлено через 4 минуты код для DLL, в которой осуществляется перехват функции можно найти на том же сайте, либо использовать detours и ему подобные. Добавлено через 3 минуты Другие методы внедрения, кроме как через CreateProcess, для перехвата LoadLibrary не будут работать, т.к. процесс уже загрузит нужные ему dll и вы не сможете подменить нужную вам dll на свою.
0
|
|||||||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,856
|
|
| 14.02.2011, 01:56 | |
|
Если я правильно понял то
в одной папке лежит прога и родная dll а не родная в другой папке программа должна обратится к неродной а та уже вызовет родную Но программа конечно же ищет сначала в своей директории 1 порядок просмотра директорий определяется где то в реестре (но там помоему есть ограничения) Можно сделать так 2 Создаем свою dll с именем родной, определяем в ней весь импрорт родной и кладем в папку к проге. а родную переименовываем (или кладем в другое место) и обращаемся к ней уже из своей dll 3 можно попробовать задействовать Хуки С важением Валерий
0
|
|
|
ramobili
|
||
| 05.03.2011, 01:25 | ||
|
можно поподробнее |
||
| 05.03.2011, 01:25 | |
|
Помогаю со студенческими работами здесь
11
Как заставить программу загружать картинку рандомно? Каким образом в цикле удалить файлы из папки Можно ли каким-то образом заставить реагировать родительский объект на изменение параметров дочернего Каким образом заставить компонент RichEdit1 перемещать свой Skroll на последнюю запись? Интересно узнать каким образом скрывают файлы и папки? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|