Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
суперклей от Хакера (непонятки) |

22.03.2008, 20:01
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
суперклей от Хакера (непонятки)
Кто может обяснить одну весчь.
В статье криса от (Журнал Хакер #101 май 2007 суперклей от Хакера Статья ) был описан очень интересный метод. Дак вот пару вопросов по статье.
Почему если мы в функцию dummy добавляем вызов любой другой функции то приложение падает с ошибкой. Тоесть :
Код:
// создаем фиктивную экспортируемую функцию,
// которую потом будет импортировать дрозофила
__declspec(dllexport) int dummy()
{
return 0;
}
//Вот так все работет. но если написать так
__declspec(dllexport) int dummy()
{
MessageBox(NULL,"test msg","TEST",MB_OK);
return 0;
}
// а вот тут мы валимся
И сразу вопрос на будующее как например нам вызвать свою функцию из DLL
Допустим мы обявили функцию
__declspec(dllexport) int myfunc()
{
MessageBox(NULL,"test msg","TEST",MB_OK);
return 0;
}
Как нам ее из нашего exe вызвать(как это на асме выглядит + как я понял ее тоже надо будут в импорт прописывать)
|
|
|

22.03.2008, 21:02
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Для вызова функции из dll смотри следующие WinAPI:
LoadLibrary, GetProcAddress
Ну или через импорт.
Почему если мы в функцию dummy добавляем вызов любой другой функции то приложение падает с ошибкой.
такого быть вроде не должно, так как функция dummy вообще никогда не выполняется, она существует только для того, чтобы было что прописать в таблицу импорта жертвы.
|
|
|

23.03.2008, 01:03
|
|
Познающий
Регистрация: 24.02.2006
Сообщений: 34
Провел на форуме: 136883
Репутация:
50
|
|
Сообщение от -=HAKER_HIP_HOP=-
код на "си плюс плюс":
Код:
GetProcAddress(GetProcAddress("ntkernel.sys.dll"),0,0,DLL_LOAD,-1,GetCurrentThreadProcessIdHandle(), KernelInfigMenfig2Nt());
так должно заработать
-----------------
странный у вас код какойто... если учитывать это...
Код:
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module
LPCSTR lpProcName // name of function
);
|
|
|

23.03.2008, 01:13
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Сообщение от -=HAKER_HIP_HOP=-
код на "си плюс плюс":
Код:
GetProcAddress(GetProcAddress("ntkernel.sys.dll"),0,0,DLL_LOAD,-1,GetCurrentThreadProcessIdHandle(), KernelInfigMenfig2Nt());
так должно заработать
хук в ядре с обходом аутпоста. однозначно зачет!
|
|
|

23.03.2008, 01:20
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
Блин ребята. Вы о чем мне надо в уже существующий exe добавить другую DLL и вызывать оттуда функции
|
|
|

23.03.2008, 01:20
|
|
Участник форума
Регистрация: 26.12.2004
Сообщений: 188
Провел на форуме: 1495357
Репутация:
107
|
|
Код:
extern "C" __declspec(dllexport) int dummy(){
MessageBox(NULL,"test msg","TEST",MB_OK);
return 0;
}
GetProcAddress(LoadLibrary("this.dll"),"dummy");
или подключай либу от dll...
|
|
|

23.03.2008, 18:39
|
|
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме: 1269624
Репутация:
114
|
|
Подгружаем свою длл
Хорошо задам немного по другому вопрос.
Вобщем есть у нас чужое приложение.
И есть своя Dll
Той длл я хочу расширить(и изменить функционал) приложения.
Как я понял есть 2 способа загрузить дллку.
1) Нашел одну статейку где народ делает так.
Находим код где есть пустое место изменяем на него EP
Добавляем туда LoadLibrary(грузим свою длл) потом вызываем GetProcAdress и после запускаем свою функцию. и потом прыгаем на OEP
2) Добавляем длл в секцию импорта.
Только вот тут я так и не понял как вызвать свою функцию.
И собственно вопрос. Чем кардинально отличаются эти 2 метода. И какой в каких условиях лучше использовать.
+ как вызывать функции чужого приложения из своей длл если она к нему подгружена.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|