ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

суперклей от Хакера (непонятки)
  #1  
Старый 22.03.2008, 20:01
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию суперклей от Хакера (непонятки)

Кто может обяснить одну весчь.
В статье криса от (Журнал Хакер #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 вызвать(как это на асме выглядит + как я понял ее тоже надо будут в импорт прописывать)
 
Ответить с цитированием

  #2  
Старый 22.03.2008, 21:02
Аватар для bons
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

Репутация: 347
По умолчанию

Для вызова функции из dll смотри следующие WinAPI:
LoadLibrary, GetProcAddress
Ну или через импорт.

Цитата:
Почему если мы в функцию dummy добавляем вызов любой другой функции то приложение падает с ошибкой.
такого быть вроде не должно, так как функция dummy вообще никогда не выполняется, она существует только для того, чтобы было что прописать в таблицу импорта жертвы.
 
Ответить с цитированием

  #3  
Старый 23.03.2008, 01:03
Аватар для x0man
x0man
Познающий
Регистрация: 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 
   );
 
Ответить с цитированием

  #4  
Старый 23.03.2008, 01:13
Аватар для Piflit
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=HAKER_HIP_HOP=-  
код на "си плюс плюс":
Код:
GetProcAddress(GetProcAddress("ntkernel.sys.dll"),0,0,DLL_LOAD,-1,GetCurrentThreadProcessIdHandle(), KernelInfigMenfig2Nt());
так должно заработать
хук в ядре с обходом аутпоста. однозначно зачет!
 
Ответить с цитированием

  #5  
Старый 23.03.2008, 01:20
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию

Блин ребята. Вы о чем мне надо в уже существующий exe добавить другую DLL и вызывать оттуда функции
 
Ответить с цитированием

  #6  
Старый 23.03.2008, 01:20
Аватар для FoX's
FoX's
Участник форума
Регистрация: 26.12.2004
Сообщений: 188
Провел на форуме:
1495357

Репутация: 107
Отправить сообщение для FoX's с помощью ICQ
По умолчанию

Код:
extern "C" __declspec(dllexport) int dummy(){
     MessageBox(NULL,"test msg","TEST",MB_OK);
     return 0;
}

GetProcAddress(LoadLibrary("this.dll"),"dummy");
или подключай либу от dll...
 
Ответить с цитированием

Подгружаем свою длл
  #7  
Старый 23.03.2008, 18:39
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

Репутация: 114
Отправить сообщение для EST a1ien с помощью ICQ
По умолчанию Подгружаем свою длл

Хорошо задам немного по другому вопрос.
Вобщем есть у нас чужое приложение.
И есть своя Dll

Той длл я хочу расширить(и изменить функционал) приложения.
Как я понял есть 2 способа загрузить дллку.
1) Нашел одну статейку где народ делает так.
Находим код где есть пустое место изменяем на него EP
Добавляем туда LoadLibrary(грузим свою длл) потом вызываем GetProcAdress и после запускаем свою функцию. и потом прыгаем на OEP
2) Добавляем длл в секцию импорта.
Только вот тут я так и не понял как вызвать свою функцию.

И собственно вопрос. Чем кардинально отличаются эти 2 метода. И какой в каких условиях лучше использовать.
+ как вызывать функции чужого приложения из своей длл если она к нему подгружена.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библия хакера 3 Metall Болталка 11 22.02.2008 03:46
Доний знает хакера, взломавшего «Раду» _Sniper_ Мировые новости 9 18.12.2007 01:01
СМЕРТЬ ПОСЛЕДНЕГО ХАКЕРА silveran Болталка 18 02.12.2006 09:47
Сотрудники управления СБУ в Харьковской области задержали хакера DRON-ANARCHY Мировые новости 0 19.09.2005 23:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ