Перейти к содержанию

Защита Вашей DLL [C++]


Fixer

Рекомендуемые сообщения

Всем привет, с вами Fixer! 8-)

Решил выложить "набор анти-взлома" для вашей DLL !

Надеюсь это попадет в заголовок)

Итак, все по порядку.

AntiHeaders

#pragma warning (disable:4102)

VOID AntiHeaders(HINSTANCE hModule)

{

DWORD dwPEB_LDR_DATA = 0;

_asm

{

pushad;

pushfd;

mov eax, fs:[30h]

mov eax, [eax+0Ch]

mov dwPEB_LDR_DATA, eax

InLoadOrderModuleList:

mov esi, [eax+0Ch]

mov edx, [eax+10h]

LoopInLoadOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+18h]

cmp ecx, hModule

jne SkipA

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp InMemoryOrderModuleList

SkipA:

cmp edx, esi

jne LoopInLoadOrderModuleList

InMemoryOrderModuleList:

mov eax, dwPEB_LDR_DATA

mov esi, [eax+14h]

mov edx, [eax+18h]

LoopInMemoryOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+10h]

cmp ecx, hModule

jne SkipB

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp InInitializationOrderModuleList

SkipB:

cmp edx, esi

jne LoopInMemoryOrderModuleList

InInitializationOrderModuleList:

mov eax, dwPEB_LDR_DATA

mov esi, [eax+1Ch]

mov edx, [eax+20h]

LoopInInitializationOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+08h]

cmp ecx, hModule

jne SkipC

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp Finished

SkipC:

cmp edx, esi

jne LoopInInitializationOrderModuleList

Finished:

popfd;

popad;

}

}

AntiRevers

PVOID AntiRevers(HMODULE dwModule)

{

PVOID pEntry = NULL;

PIMAGE_DOS_HEADER pId = (PIMAGE_DOS_HEADER)dwModule;

PIMAGE_NT_HEADERS pInt = (PIMAGE_NT_HEADERS)(dwModule + pId->e_lfanew);

pEntry = dwModule + pInt->OptionalHeader.BaseOfCode;

return pEntry;

}

HideModule

#ifndef _Hide

void HideModule(HINSTANCE hModule)

{

DWORD dwPEB_LDR_DATA = 0;

_asm

{

pushad;

pushfd;

mov eax, fs:[30h]

mov eax, [eax+0Ch]

mov dwPEB_LDR_DATA, eax

InLoadOrderModuleList:

mov esi, [eax+0Ch]

mov edx, [eax+10h]

LoopInLoadOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+18h]

cmp ecx, hModule

jne SkipA

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp InMemoryOrderModuleList

SkipA:

cmp edx, esi

jne LoopInLoadOrderModuleList

InMemoryOrderModuleList:

mov eax, dwPEB_LDR_DATA

mov esi, [eax+14h]

mov edx, [eax+18h]

LoopInMemoryOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+10h]

cmp ecx, hModule

jne SkipB

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp InInitializationOrderModuleList

SkipB:

cmp edx, esi

jne LoopInMemoryOrderModuleList

InInitializationOrderModuleList:

mov eax, dwPEB_LDR_DATA

mov esi, [eax+1Ch]

mov edx, [eax+20h]

LoopInInitializationOrderModuleList:

lodsd

mov esi, eax

mov ecx, [eax+08h]

cmp ecx, hModule

jne SkipC

mov ebx, [eax]

mov ecx, [eax+4]

mov [ecx], ebx

mov [ebx+4], ecx

jmp Finished

SkipC:

cmp edx, esi

jne LoopInInitializationOrderModuleList

Finished:

popfd;

popad;

}

}

#endif

Надеюсь я старался не зря)))

Всем пока! :-D

  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

Плохо верится в то что это всё будет работать, выкладывай тестовую dll-ку (и сурс не забудь) с этими фичами, я проверю её.

P.S. AntiOllyDebugger - это же смешно, искать по заголовку окна (который можно легко поменять) - работать не будет.

AntiDump - работать не будет.

AntiRevers (хотя правильно AntiReverse) - как этот код помешает реверсить твою дллку? - работать не будет.

AntiHeaders - скрыть все заголовки можно только после компиляции dll, изменив структуру файла. - работать не будет.

HideModule - работает.

// UPD: изменил заголовок темы с "Супер Защита Вашей DLL [C++]" на "Защита Вашей DLL [C++]".

Ссылка на комментарий
Поделиться на другие сайты

Плохо верится в то что это всё будет работать, выкладывай тестовую dll-ку (и сурс не забудь) с этими фичами, я проверю её.

P.S. AntiOllyDebugger - это же смешно, искать по заголовку окна (который можно легко поменять) - работать не будет.

AntiDump - работать не будет.

AntiRevers (хотя правильно AntiReverse) - как этот код помешает реверсить твою дллку? - работать не будет.

AntiHeaders - скрыть все заголовки можно только после компиляции dll, изменив структуру файла. - работать не будет.

всегда пожалуйста :mad:

Ссылка на комментарий
Поделиться на другие сайты

AntiOllyDebugger по FindWindow убил)) Можешь еще добавить AntiCE 6.1, AntiCE 6.2 итд :D

Еще можешь объяснить что все это значит, особенно фигня в AntiDump))

Ссылка на комментарий
Поделиться на другие сайты

Source dll-ки (проект) я имел ввиду. И жду саму откомпиленную dll-ку.

в DLL`ке D3D меню еще не доделано. Я тебе дал заголовок со всем этим вместе, сам разве не можешь протетстить?

Ссылка на комментарий
Поделиться на другие сайты

в DLL`ке D3D меню еще не доделано. Я тебе дал заголовок со всем этим вместе, сам разве не можешь протетстить?

Не могу. Жду твоей DLL-ки с использованием этих твоих "защит".

И кстати, неплохо бы описать в шапке темы, как же использовать твои чудеса защиты.

Ссылка на комментарий
Поделиться на другие сайты

Не могу. Жду твоей DLL-ки с использованием этих твоих "защит".

И кстати, неплохо бы описать в шапке темы, как же использовать твои чудеса защиты.

http://rghost.ru/pri...881bfc722061e39

обновил ссылку

Не могу. Жду твоей DLL-ки с использованием этих твоих "защит".

И кстати, неплохо бы описать в шапке темы, как же использовать твои чудеса защиты.

Еще один вариант хайда модуля. Дай угадаю... Хрень?

typedef struct _ModuleInfoNode
{
LIST_ENTRY LoadOrder;
LIST_ENTRY InitOrder;
LIST_ENTRY MemoryOrder;
HMODULE baseAddress;
unsigned long entryPoint;
unsigned int size;
UNICODE_STRING fullPath;
UNICODE_STRING name;
unsigned long flags;
unsigned short LoadCount;
unsigned short TlsIndex;
LIST_ENTRY HashTable;
unsigned long timestamp;
} ModuleInfoNode, *pModuleInfoNode;
typedef struct _ProcessModuleInfo
{
unsigned int size;
unsigned int initialized;
HANDLE SsHandle;
LIST_ENTRY LoadOrder;
LIST_ENTRY InitOrder;
LIST_ENTRY MemoryOrder;
} ProcessModuleInfo, *pProcessModuleInfo;
#define UNLINK(x) (x).Blink->Flink = (x).Flink; \
(x).Flink->Blink = (x).Blink;
int HideModule( HMODULE hMod )
{
ProcessModuleInfo *pmInfo;
ModuleInfoNode *module;
_asm
{
mov eax, fs:[18h]
mov eax, [eax + 30h]
mov eax, [eax + 0Ch]
mov pmInfo, eax
}
module = (ModuleInfoNode *)(pmInfo->LoadOrder.Flink);
while(module->baseAddress && module->baseAddress != hMod){
  module = (ModuleInfoNode *)(module->LoadOrder.Flink);}
if(!module->baseAddress){
  return 0;}
UNLINK(module->LoadOrder);
UNLINK(module->InitOrder);
UNLINK(module->MemoryOrder);
UNLINK(module->HashTable);
memset(module->fullPath.Buffer, 0, module->fullPath.Length);
memset(module, 0, sizeof(ModuleInfoNode));
return 1;
}

у меня нету DLL`ки в процессе при инжекте. У меня все работает.

Ссылка на комментарий
Поделиться на другие сайты

Hide действительно работает, но от дампа это не спасает.

В общем единственное, что работает это Hide модуля, и за это ты получаешь от меня +.

Обнови шапку темы, и опиши пользователям методы использования.

Ссылка на комментарий
Поделиться на другие сайты

Hide действительно работает, но от дампа это не спасает.

В общем единственное, что работает это Hide модуля.

Обнови шапку темы, и опиши пользователям методы использования.

прошло время и теперь не могу редактировать тему/шапку темы

ну и как тебе D3D меню?) Хотя... Я не хочу знать... всеравно обосрешь :closeyes:

Ссылка на комментарий
Поделиться на другие сайты

прошло время и теперь не могу редактировать тему/шапку темы

ну и как тебе D3D меню?) Хотя Я не хочу знать... всеравно обосрешь :closeyes:

Напиши здесь обновлённый пост, я заменю шапку темы этим постом.

По-поводу меню - паблик хук с текстурным багом, тестил не я (у меня нету dx10 приложений).

Ссылка на комментарий
Поделиться на другие сайты

Напиши здесь обновлённый пост, я заменю шапку темы этим постом.

По-поводу меню - паблик хук с текстурным багом, тестил не я (у меня нету dx10 приложений).

зря спросил.
Ссылка на комментарий
Поделиться на другие сайты

Работает только HideModulе, остальное нет..

Меню - паблик сурс с текстурными багами, плюс не правильно работают опции Open/Close и лагает.

post-3535-0-57773800-1383233189_thumb.jp

Ссылка на комментарий
Поделиться на другие сайты

Fixer, опять ты занимаешься присваиванием чужих исходных кодов?

Coder Fixer, это думаю наглая ложь, там должен быть логин создателя хука и меню.

Ссылка на комментарий
Поделиться на другие сайты

Работает только HideModulе, остальное нет..

Меню - паблик сурс с текстурными багами, плюс не правильно работают опции Open/Close и лагает.

post-3535-0-57773800-1383233189_thumb.jp

Я тебя удивлю щас... Это вх на варфейс! Я его не хотел сюды сливать... Тут админы бурчать будут. На мв2 он не расчитан. в мв2 только прицел работает. и исходник был доработан, текстуры обновлены, баг исправил.

Fixer, опять ты занимаешься присваиванием чужих исходных кодов?

Coder Fixer, это думаю наглая ложь, там должен быть логин создателя хука и меню.

вот зачем тему создавал...
Ссылка на комментарий
Поделиться на другие сайты

Я тебя удивлю щас... Это вх на варфейс! Я его не хотел сюды сливать... Тут админы бурчать будут. На мв2 он не расчитан. в мв2 только прицел работает. и исходник был доработан, текстуры обновлены, баг исправил.

Не удивил. Я этот хук знаю, сам тестировал, те же текстуры пропадали.

При чем тут "вх", если инжектишь дллку не включая никаких опций - текстуры пропадают. Следовательно баг.

Ссылка на комментарий
Поделиться на другие сайты

Не удивил. Я этот хук знаю, сам тестировал, те же текстуры пропадали.

При чем тут "вх", если инжектишь дллку не включая никаких опций - текстуры пропадают. Следовательно баг.

он не расчитан на мв2! он расчитан на варфу!

Если "эксперты" выдали вердикт, что половина - фигня, то удаляйте анти олли и дамп. и добавьте второй хайд модуля, который я в комменты скидывал.

Ссылка на комментарий
Поделиться на другие сайты

он не расчитан на мв2! он расчитан на варфу!

Если "эксперты" выдали вердикт, что половина - фигня, то удаляйте анти олли и дамп. и добавьте второй хайд модуля, который я в комменты скидывал.

Отредактируй свой пост с кодом, там походу слетело что-то.

И мануал по использованию своего кода выложить не забудь.

Ссылка на комментарий
Поделиться на другие сайты

Отредактируй свой пост с кодом, там походу слетело что-то.

И мануал по использованию своего кода выложить не забудь.

мануал? Ctrl + C , Ctrl + V ! Вот и весь мануал! Создай заголовочный файл и туда скопируй код!

p.s. отредактировать не могу, прошло время.

Ссылка на комментарий
Поделиться на другие сайты

ну раз это статья, значит и мануал должен быть к твоему коду, я так думаю... Я имею ввиду описание(алгоритм) этого кода...

анти хеадер - стирает всю инфу о инжекте либа... однако как выскочка кодер заметил, это делается после инжекта, а этот код был придусмотрен чтобы упростить процесс (инжектор я написал свой), анти реверс - запрещает открытие процесса. хайд модуль - не отображает нашу длл в списке загруженных в процессе, т.е. нельзя засечь что у тебя посторонняя дллка как факт читерства, и нельзя дампить нашу длл, т.к. ее просто нету)

Сугубо мое понимание этих функций.

Ссылка на комментарий
Поделиться на другие сайты

Ты не понял сути. Тебе нужно не описание функций, и не как скопипастить код рассказать. А рассказать, в каких местах кода самой DLL нужно вызывать эти функции, чтобы твоя хваленая защита сработала.

Ссылка на комментарий
Поделиться на другие сайты

Ты не понял сути. Тебе нужно не описание функций, и не как скопипастить код рассказать. А рассказать, в каких местах кода самой DLL нужно вызывать эти функции, чтобы твоя хваленая защита сработала.

просто создаем заголовочный файл, подключаем инклуд #pragma warning (disable:4102) и вниз вставляем защиту
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.