avatar_Ember

Как прикрутить DLL к EXE файлу в MU Online с помощью Hook dll ,

Автор Ember, 2010 Июль 24, 01:52

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

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

Помог ли вам Гайд?

Проголосовало пользователей: 18

Ключевые слова [SEO] mu onlinehook dllзащита игрыприкрутить dll к exe

Ember

В этом Гайде я хочу обьяснить, как прикрутить .DLL файл к .EXE файлу.

Что для этого требуется:
1. Ollydbg (Скачать).
2. LordPE (Скачать).
3. 5 минут времени.

В этом примере мы будем прикручивать Antihack.dll к main.exe

И так, приступим:
1. Запускаем Ollydbg.
2. Открываем .EXE файл (main.exe), к которому будем прикручивать .DLL (File - Open).
3. Записуем на листочек начальный оффсет (Место, где находится курсор после открытия).
В моем случае, это 0084878C (PUSH EBP).

4. Нажимаем Ctrl+N.
5. В появившемся окне ищем строчку KERNEL32.LoadLibraryA
6. Записуем на листок адресс вызова KERNEL32.LoadLibraryA.
В моем случае, это 0087B208 (KERNEL32.LoadLibraryA).

7. Закрываем это окно и переходим к основному.
8. Листаем до конца программы, ищем свободные оффсеты - DB00.

9. Правый клик мышкой - Follow to Dumb - Selection.

10. В нижнем окне вписуем имя нашей .DLL
Выбераем мышкой точку, жмём Пробел и вписуем так по одной букве.

В моём случае, я вписал Antihack.dll
11. Отступив ниже, клацаем пробел по любой строчке.
12. В открывшимся окошке пишем PUSH и адресс, где мы начали вписывать имя нашей .DLL

В моём случае, это PUSH 0087A806
13. В итоге мы должны получить PUSH main.0087A806 (ASCII "Antihack.dll").

14. Клацаем пробел по следуйщей строчке, вписуем CALL DWORD PTR DS:[Адресс вызова LoadLibraryA]
И получаем следущее:

В моём случае, это CALL DWORD PTR DS:[0087B208].
15. На следущей строчке, нажав пробел, вписуем - CMP EAX,0
16. После этого, на  следуйщей строчке, нажав пробел, вписуем - JMP Адресс начального оффсета

В моём случае, это JMP 0084878C
17. Получаем следущее:

18. Переходим к сохранению, выделяем все наши изменения.
19. Правый клик мышкой - Copy to executable - Selection.

20. В открывшимся окне правый клик мышкой - Save File.



21. Далее нам нужно изменить точку входа (EntryPoint).
22. Запускаем LordPE.
23. Открываем наш .EXE файл (main.exe).
24. В примере новой OEP будет 0087A806 (из пункта №12).
25. Зная, что Image Base - 00400000, вычисляем  по формуле EntryPoint:
OEP - ImageBase = LordPE EntryPoint.
0087A806 - 00400000 = 0047A806
26. Вписуем получившееся в поле EntryPoint, в программе LordPE.

27. Нажимаем Save - OK.

И вот он момент триумфа, всё готово, можно радоваться. :)
Если остались вопросы, в ICQ: 596-461-737.



Кредиты: Lekan

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

спосиба на перёд, если кому интересно файлы этого античита тут

xakum

#2
Цитата: LEKAN от 2010 Июль 24, 00:52  В этом Гайде я хочу
Кредиты: Lekan
слово в слово передрал и кредиты тут еще пишет свои какие то. LEKAN если твои кредиты - может объяснишь мне зачем писать "CMP EAX,0", если после этого идёт просто JMP? школота ты личерная. :rolleyes:

user_MU

#3
Там должно идти jne на выход из маина.
Это проверка на наличие, при отсутствии маин закрывается.

xakum
:) Ты в своем репертуаре :) Ты бы после критики правильный вариант писал, меньше флуда будет.

Dzib
В этом примере обычная длл. В твоем случае надо вызывать главную функцию длл-ки. А именно SKTG. Это значение нужно прописывать так же как и Antihack.dll в ASCII формате.
Вот простой пример что у тебя должно быть:

Спойлер
PUSH *to SKT.dll* <<<<<<<< тут адрес где ты прописал слово SKTG.dll
CALL DWORD PTR DS:[LoadLibraryA]
OR EAX,EAX
JE *EmptySpace*
PUSH *to SKTG*  <<<<<< тут адрес где ты прописал слово SKTG
PUSH EAX
CALL DWORD PTR DS:[GetProcAddress]
CALL EAX
JMP *EntryPoint*
[свернуть]

Ronny

Зачем так усложнять ?
можно ведь просто
push 006B3000
call LoadLibraryA
Mov dword ptr ds:[006B3005], eax
Push [006B3007]
Push Eax
Call GetProcAddress
Call Eax  

# 006B3000 - Оффсет дллки
# 006B3005 - Свободный оффсет
# 006B3007 - Имя процесса

LeGrand

за рекомендации юзать лордпе буду бить палками.

user_MU

Ну кому как удобнее, утилит типа Лордпе вагон.
Да и вабще хватит копья ломать, уже давно утилита есть для хука

Ronny

Цитата: user_MU от 2010 Июль 24, 07:43  Ну кому как удобнее, утилит типа Лордпе вагон.
Да и вабще хватит копья ломать, уже давно утилита есть для хука :)
знаем такую xD
для нюбов, которая сразу и пакует екзэшник и дллку :D

user_MU

Ronny
:) Ошибаешься. Эта другая. Ничего она не пакует. Просто прописывает.

netpartizan

ЦитироватьНу кому как удобнее, утилит типа Лордпе вагон.
В ольке можно посмотреть )

ЦитироватьДа и вабще хватит копья ломать, уже давно утилита есть для хука
IIDKing ?

user_MU

Нет, там убогонькая какая-то на дэльфях. Самопис какой-то. К сожалению сейчас не на том компе сижу.
Кромме IIDKing и еще есть утилиты для внедрения. Есть и в реальном времени подбрасывают.
Много всяких.

Ronny

Цитата: user_MU от 2010 Июль 24, 07:00  Нет, там убогонькая какая-то на дэльфях. Самопис какой-то. К сожалению сейчас не на том компе сижу.
Кромме IIDKing и еще есть утилиты для внедрения. Есть и в реальном времени подбрасывают.
Много всяких.

лично я таким типам утилит не доверяю, я лучше сам хукну, и буду уверен что все правильно )))

user_MU

Ronny
Аналогично.
Просто я всегда сливаю все что может пригодится, а такие полу-уникальные утилиты тем более, не говоря уже о всяких уж совсем редких а то и приватных вещей.
Авось как говорится пригодится :)

Dzib

User_MU спосиба

ЦитироватьPUSH *to SKT.dll* <<<<<<<< тут адрес где ты прописал слово SKTG.dll
CALL DWORD PTR DS:[LoadLibraryA]
OR EAX,EAX
JE *EmptySpace*
PUSH *to SKTG* <<<<<< тут адрес где ты прописал слово SKTG
PUSH EAX
CALL DWORD PTR DS:[GetProcAddress]
CALL EAX
JMP *EntryPoint*

какое слово первым прописивать SKTG или SKT.dll ?

И парни нет ли у кого крякнутой MoleBox 4,хххх версии? 2,хххх как клепает то уже запустить мейн не могу больше)) табличка « отправлять, не отправлять» выскакует) Делал демоверсеей 4,ххх клепает хорошо, только не нашел крякнутой в интернете.

cokpat

#14
Цитата: Dzib от 2010 Июль 24, 10:36  User_MU спосиба



какое слово первым прописивать SKTG или SKT.dll ?

И парни нет ли у кого крякнутой MoleBox 4,хххх версии? 2,хххх как клепает то уже запустить мейн не могу больше)) табличка « отправлять, не отправлять» выскакует) Делал демоверсеей 4,ххх клепает хорошо, только не нашел крякнутой в интернете.

первое SKT.dll
второе SKTG

SmallHabit

Да, действительно смысл этого CMP EAX,0? o_O

Killbrum

Цитата: LeGrand от 2010 Июль 24, 09:36  за рекомендации юзать лордпе буду бить палками.
Круть =) а эт ничего что его юзают очень большое кол-во людей по всему миру? =) типа все они быдло-ламеры? =)

Mr.Kernighan

Цитироватьза рекомендации юзать лордпе буду бить палками.
Если Егор сказал, я думаю что лучше будет не использовать его больше... :)

DobrjaG


Dzib

#19
Лутший античит это у Losena.ru и Alliennation.biz ©WakeUP. Его лаунчер проверяет при запуске мейна crc всех нужных файлов (skill.bmd, player.bmd и т.д), также лаунчер выключаеться если удалить какой либо 1 файл из нужных (включая dll-ки). Сам мейн зашифрован сам по себе, нельзя узнать настоящий серийник и версию игры. Ещё может быть что при запуску лаунчер меняет их в мейне. Ну и он блокирует на столько програмы такие как WPE что даже если и сделать видимим процем Main.exe то WPE не перехватывает пакеты мейна.

Говорят чит от Endi не плохой, дайте ссылку на него если у кого есть?

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