H
hulk45
В одном из требований к мобильному коду написано:
Все системные функции МОЖНО импортировать только динамически LoadLibrary()+GetProcAddress()
вопрос:
1.А почему нельзя статически?
2. Когда нельзя импортировать? (наверное тупой вопрос)
И пожалуста ответьте ещё на парочку вопросиков:
Слабомобильный код :
Большая часть мобильного кода делается немобильным,мобильным остаётся только загрузчик который грузит оставшуюся часть кода и настраивает все перекрёстные ссылки
1 Подход :
Делаем загрузчик вида:
LoadLibrary(param1);
p=GetProcADRESS(PARAM2);
P(PARAM3);
он грузит в чужое адресное пространство библиотеку,однако эта библиотека будет видна программам типа ProcessExplorer
2 Подход :
Тоже самое только библиотека загружается руками с использованием своих функций=> не записывается в соответсвующие системные таблицы
Скрытность лучше чем у первого подхода но хуже чем у молбильного кода. Сложно построитьтаблицы импорта/экспорта(вручную)
Вопрос:
3. "только библиотека загружается руками с использованием своих функций". Как "ручками" загружается библиотека?
и последний вопрос:
4. Для чего вообще нужен мобильный код?
Все системные функции МОЖНО импортировать только динамически LoadLibrary()+GetProcAddress()
вопрос:
1.А почему нельзя статически?
2. Когда нельзя импортировать? (наверное тупой вопрос)
И пожалуста ответьте ещё на парочку вопросиков:
Слабомобильный код :
Большая часть мобильного кода делается немобильным,мобильным остаётся только загрузчик который грузит оставшуюся часть кода и настраивает все перекрёстные ссылки
1 Подход :
Делаем загрузчик вида:
LoadLibrary(param1);
p=GetProcADRESS(PARAM2);
P(PARAM3);
он грузит в чужое адресное пространство библиотеку,однако эта библиотека будет видна программам типа ProcessExplorer
2 Подход :
Тоже самое только библиотека загружается руками с использованием своих функций=> не записывается в соответсвующие системные таблицы
Скрытность лучше чем у первого подхода но хуже чем у молбильного кода. Сложно построитьтаблицы импорта/экспорта(вручную)
Вопрос:
3. "только библиотека загружается руками с использованием своих функций". Как "ручками" загружается библиотека?
и последний вопрос:
4. Для чего вообще нужен мобильный код?