avatar_Человек

Как инжектить хак DLL в main.exe , установка защиты в main.exe

Автор Человек, 2009 Апр. 21, 01:37

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ales

Цитата: Voppis от 2009 Июль 02, 09:36  Кто может вшить мне пожалуйста AH.dll и main.exe, у меня не получается
И есль у вас есть 3D camera для 1.04h можете вшить и её пожалуйстита.
Вот сылка майна 1.04h: _https://rapidshare.com/files/250955146/main.exe.html
Вот сылка AH.dll: _https://rapidshare.com/files/250953849/AH.dll.html
И у меня вопрос потом после вшития я смогу поменять серийник и ип?
Спасибо большое заранее.
dll в твой майн вшил всё работает, тебе осталось скопировать main, AH.dll, AH.ini, crc32.exe в клиент, после этого запустить crc32.exe и в нём ввести имя майна и нажать ентер, потом посмотреть добавился ли crc сумма майна в AH.ini и включить в нем Launcher переместить AH.ini в корень своего web servera.

Ales

Всё понимаю кроме "зная что ImageBase = 00400000" где её можно смотреть у себя в майне, или он одинакова у всех?
и я столкнулся с тем что оффсет PUSH длл содержит буквы как тогда посчитать какую надо поставить точку входа в программу?

xakum

2 Ales
ImageBase ничто иное как виртуальный начальный адрес загрузки программы. действительно обычно его значение 0x00400000. но что бы узнать точное значение можно воспользоваться к примеру программой LordPE (PE Editor). а ещё лучше изучить структуру PE файла - для представления всей общей картины по внедрению длл и не только. советую хотя бы внимательно прочитать.

Цитата: Ales от 2009 Июль 12, 15:53  и я столкнулся с тем что оффсет PUSH длл содержит буквы как тогда посчитать какую надо поставить точку входа в программу?
ты используешь зарезервированое смещение в котором сама программа должна сохранять свои временные данные во время выполнения (или не 00 байты). попробуй поэкспериментировать и выбрать смешение которое заканчивается 0 :)

Ales

а может кто помочь склеить молебоксам длл и майн, просто у меня постоянно пишет ошибку:
Цитировать:<exception>: MSKIN_RTERR:File D:GamesMuMU1_02r+_full(Chs)main.exe is invalid excutable image

Bason4ik

ты использовал PE Explorer или чтото типо того чтобы изменить EntryPoint....а нужно изменять без всяких прог...на РЗ в теме AH.dll от Infinity есть два гайда,один такой же,а во втором изменяется EntryPoint прямо в олли,вот он тебе и нужен.
Спойлер
вот ссылка даже КЛАЦ на меня
[свернуть]

Ales

Цитата: Bason4ik от 2009 Авг. 06, 05:55  ты использовал PE Explorer или чтото типо того чтобы изменить EntryPoint....а нужно изменять без всяких прог...на РЗ в теме AH.dll от Infinity есть два гайда,один такой же,а во втором изменяется EntryPoint прямо в олли,вот он тебе и нужен.
Спойлер
вот ссылка даже <noindex><noindex>КЛАЦ на меня</noindex></noindex>
[свернуть]
Всё разобрался склеить молебоксам получилось. Есть ещо один вопрос по поводу Themida. Я криптавал майн всё прошло удачно, но посли этого процесса main  перестал запускаться.( Может кто помочь?

user_MU

Видимо при крипте повредились ресурсы. Смени версию фимы  или другой дистр её.

Ales

Цитата: user_MU от 2009 Авг. 07, 05:23  Видимо при крипте повредились ресурсы. Смени версию фимы :) или другой дистр её.
Может у тебя есть норм версия?

user_MU

Залейте полную версию длл-ки куда нибудь. Или дайте линк где её можно скачать.

Ales

А может кто подсказать как надо хукать длл чтобы шла проверка на её наличие и если длл нет, то тогда клиент выбивало.
Нашел в инете такой способ:
ЦитироватьPUSH на оффсет AntiHack.dll
CALL [LoadLibraryA] // Вызов функции LoadLibraryA
OR EAX, EAX // Проверка
JE 'Оффсет на пустое место' // Если main не найдет .dll файл, он выдаст ошибку.
PUSH на оффсет Main
PUSH EAX
CALL [GetProcessAdress] // Вызов функции GetProcessAdress
CALL EAX
JMP EntryPoint // Прыжок на точку входа программы
только вот я немагу понять как узнать этот самый оффсет
ЦитироватьPUSH на оффсет Main
если кто поможет буду очень благодарен.

Deathless

Цитата: Ales от 2009 Сен. 21, 18:21  А может кто подсказать как надо хукать длл чтобы шла проверка на её наличие и если длл нет, то тогда клиент выбивало.
Нашел в инете такой способ:

только вот я немагу понять как узнать этот самый оффсет

если кто поможет буду очень благодарен.
А смысл? Любую другую длл подсунь с тем же именем и всё, либо пустой текстовый файлы (измени разрешение .txt на .dll).
Лучше всего упаковывать майн с дллкой, а потом выставить checksum на сервере.

xakum

00811900        .  4D 79 44 4C 4C 73 2E 64 6C>ASCII "MyDLLs.dll",0
...
00811950        .  4D 79 44 6C 6C 46 75 6E 63>ASCII "MyDllFunction",0
....
PUSH 00811950  //("PUSH на оффсет Main") - правильней "на название вызываемой из длл фунции" :)
PUSH EAX //hModule
...

1. не используй CALL [LoadLibraryA] - делай через таблицу указателей -  CALL DWORD PTR DS:[<&KERNEL32.LoadLibraryA>], иначе программа будет запускаться только под той операционной системой в которой ты это сделаешь. например под XP, а под Vista маин при запуске будет вываливаться с ошибкой.
2. прыжок "на пустое место" лучше заменить на вызов ExitProcess:
push 0
call dword ptr ds:[<&KERNEL32.ExitProcess>].
3. Проверка происходит только на наличие Dll c заданным тобою именем, а после вызова функции условных переходов нет. т.е. если подменить твою длл  любой  другой, то запуск игры произойдёт (с небольшой ошибкой), а античита естественно нет.

Ales

Решил я поступить следующим путём. Вшил длл вот этим способам:
https://forum.ragezone.com/f508/dev-ah-dll-569666/index3.html
склеил длл и майн малебоксам, но после этого ниодин протектор нехочет криптовать майн.

HaXaJI

Спасибо пригодится!!!!!!! а есть ещё какие нибудь защиты ???

BUMEROK

Кто может вшить мне пожалуйста SKT.dll в main.exe, у меня не получается
Вот сылка майна 1.07h: _http://depositfiles.com/files/okxwraknv
Вот сылка SKT.dll: _http://depositfiles.com/files/ub7cbn3bx
И у меня вопрос после вшития я смогу поменять ип?
Спасибо заранее.

Dzib

спосиба разобрался обясни пожалуста как в этом

Цитировать1 - Hook SKT.dll into your main with fuction SKTG
PUSH *to SKT.dll*
CALL DWORD PTR DS:[LoadLibraryA]
OR EAX,EAX
JE *EmptySpace*
PUSH *to SKTG*
PUSH EAX
CALL DWORD PTR DS:[GetProcAddress]
CALL EAX
JMP *EntryPoint*

сделать это
Цитировать1 - Hook SKT.dll into your main with fuction SKTG
не понятный пункт PUSH *to SKTG* ???7 куда push писать? что такое SKTG?
спосиба на перёд, если кому интересно файлы этого античита тут

уже понятный) вот тут обяснили
https://x-mu.net/ipb.html?act=post&do=reply_post&f=12&t=9245

Похожие темы (5)