|
0 / 0 / 0
Регистрация: 04.02.2011
Сообщений: 5
|
|
Каким образом заставить программу загружать dll из указанной папки?04.02.2011, 13:00. Показов 7884. Ответов 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
|
|||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|
| 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 на последнюю запись? Интересно узнать каким образом скрывают файлы и папки? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|