Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
olialia
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 10
#1

Из локальной DLL сделать удалённую

24.09.2014, 04:06. Просмотров 374. Ответов 10
Метки нет (Все метки)

В процессе своей работы программа .EXE обращается к DLL файлу.
Возможно ли .DLL файл вынести на удаленный сервер и перенаправлять все обращения от .exe к удаленному файлу DLL.
Так, чтобы при отключенном внешнем сервере работа удаленной .EXE была невозможна.
Очевидно, что это возможно сделать с помощью реверса:
1) Реверсим локальную работу .DLL, .EXE
2) Делаем новую .EXE с серверной логикой и сервер.
Но, может быть существует технология облегчающая подобные задачи? Этот вопрос скорее к Экспертам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 04:06
Ответы с готовыми решениями:

Нужно сделать серверную (Но не удалённую) БД в MySql и программку на Java для взаимодействия с ней
Проблема в следующем. Нужно сделать серверную (Но не удалённую) БД в MySql и...

Загрузка dll (net сборки) из локальной копии
Есть код, который использует System.Data.SQLite.dll. Она у меня установлена, в...

Пытаюсь сделать динамическую загрузку dll. Dll-библиотека не подает признаков жизни
Здравствуйте. У меня такое дело, я пытаюсь создать в своей программе...

Bass.dll, bass_fx.dll - как сделать, чтобы менялась только высота звука без скорости?
Как сделать, чтобы при изменении частоты потока скорость оставалась той же, то...

Не получается подключиться к базе локальной MS SQL и вопрос про mysql.data.dll
с Mysql все вышло а MS SQL меня убивает. Дико туплю мне кажется, но ничего не...

10
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.09.2014, 07:55 #2
...перепишите ее как CGI.

ASM тут причем или постим абы где?
0
olialia
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 10
24.09.2014, 09:28  [ТС] #3
Притом что сорсов нет. Исполняемые файлы.
А где мне запостить тему низкоуровневую?
0
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
24.09.2014, 09:44 #4
Я бы пробовал сделать как-то так:
Вместо локальной dll подсовывается dll-заглушка с точно таким же
набором экспортов, которая общается с удаленным процессом
через любой подходящий транспорт, например TCP.
Реальная dll загружена в удаленный процесс, который обрабатывает
запросы от клиентов, вызывает ее функции и возвращает результат.
Разумеется, там должен быть механизм сериализации, который бы
поддерживал прозрачную работу с указателями несмотря на то, что
они находятся в адресных пространствах разных процессов.
Если исходников нет - то все печально, конечно, но не безнадежно.
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
24.09.2014, 10:31 #5
Цитата Сообщение от Убежденный Посмотреть сообщение
которая общается с удаленным процессом
через любой подходящий транспорт, например TCP.
Слишком толсто. Внимательно почитав логику работы LoadLibrary(); можно выяснить, что в последнюю очередь .dll ищется в каталогах из переменной PATH - т.е. в нее добавляется UNC-путь в виде \\remote_server\path_to_dll и вопрос решён. Прога при загрузке будет немного тормозить, но...
0
olialia
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 10
24.09.2014, 11:07  [ТС] #6
Это не подойдет, потому что таким образом злоумышленник получит всю логику работы DLL, насколько я понимаю. Т.е произойдет просто загрузка DLL в память компьютера? А нужно чтоб вся логика DLL просчитывалась на сервере
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
24.09.2014, 12:02 #7
Цитата Сообщение от olialia Посмотреть сообщение
А нужно чтоб вся логика DLL просчитывалась на сервере
Если в .dll нет мат.расчётов, то не спасёт. Пример - HASP-эмулятор, NetHASP эмулирует тоже.
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.09.2014, 19:45 #8
Притом что сорсов нет. Исполняемые файлы.
и какое отношение сей опус имеет к АСМу? Какая дикая логическая цепочка могла привести к этому выводу/

Если нет исходников, тогда действительно стоит реализовать две промежуточные обертки, одна симулятор текущей DLL с тем же именем, транслирующей локальные вызовы в сеть, а вторая обертка, реализующая прием-передачу сетевых данных и работающая поверх настоящей DLL, как предложил Убежденный.

Сетевой трафик между поддельной DLL у клиента и оберткой поверх настоящей на удаленной машине можно шифровать.

p.s.: однако есть нюанс - вы должны четко знать все экспортируемые вызовы и их параметры для текущей DLL.
0
olialia
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 10
25.09.2014, 00:13  [ТС] #9
ТАк к чему сей опус имеет отношение?? К Делфи может?
Реализовать можно все что угодно, вопрос как это сделать максимально просто. Автоматически в каком то софте, я так понимаю сделать это невозможно. Верно?
0
raxp
10182 / 6565 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
25.09.2014, 07:22 #10
Это конкретная индивидуальная задача, требующая отдельной разработки. Данный опус отнес бы к "Разработка и тестирование"/
0
olialia
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 10
28.09.2014, 13:45  [ТС] #11
У меня два средства для анализа: IDA PRO и Immunity Debuger. Программа успешно работает под этими средствами в режиме отладки и не вылетает. Как логировать в файл все вызовы , допустим, функции GetProcAddress с вызываемыми параметрами. Я так понимаю это называется трассировкой кода? Мне конкретная помощь нужна, конкретно в этих двух средствах. Или опишите чем вы пользуетесь и как это в вашем дебагере сделать. Спасибо.
0
28.09.2014, 13:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2014, 13:45

Ошибка об отсутствии MSVCP140D.dll, ucrtbased.dll, CONCRT140D.dll, VCRUNTIME140D.dll
Добрый день, товарищи. Возникла проблема. Делаю программу с использованием...

Как сделать таблицу локальной?
В смысле писал писал я проект. Типа написал. Типа работает. А как сделать,...

Как сделать интернет по локальной сети
Темы такой не нашел, такая проблема, хочу сделать интернет по локальной сети,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru