Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
ASM или как сделать хук l2.exe
#41
Ребят. Всякие PE Tools-ы и т д это уже старый век.
Мой вариант такой:
Переписать DSETUP.DLL
в ней - объявление функций DirectX (НЕ реализация!!!)
т.е. что надо сделать:
Создаем все экспортируемые функции dsetup.dll у себя на проекте и ВСЁ
в DllEntryPoint - уже делаем все что душа пожелает. Толь хуки, толь хуки в потоках. Без разницы.

Вот пример на FASM
Код:
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
include 'MACRO/IF.INC'
;-------------------------------------------------------------------------------------
section '.data' data readable writeable
    ; ЭТО СЕКЦИЯ ДАННЫХ. ОБЪЯВЛЯЕМ В НЕЙ КОНСТАНТЫ, ПЕРЕМЕННЫЕ И  Т Д

;-------------------------------------------------------------------------------------
section '.text' code readable executable
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
    mov eax, [fdwReason]
    .if eax = DLL_PROCESS_ATTACH
        call LoadBaseHook ; ЭТО ВЫЗОВ ФУНКЦИИ ХУКОВ И Т Д
        invoke DisableThreadLibraryCalls, [hinstDLL]
    .endif
    mov    eax,TRUE
    ret
endp
;-------------------------------------------------------------------------------------
proc LoadBaseHook
    pushad
    ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ; ТУТ ВЫЗЫВАЕМ ВСЕ НУЖНЫЕ ХУКИ И Т Д !
    ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    popad
    ret
endp
;-------------------------------------------------------------------------------------
proc DirectXDeviceDriverSetupA
    xor eax, eax
    ret
endp
proc DirectXDeviceDriverSetupW
    xor eax, eax
    ret
endp
proc DirectXRegisterApplicationA
    xor eax, eax
    ret
endp
proc DirectXRegisterApplicationW
    xor eax, eax
    ret
endp
proc DirectXSetupA
    xor eax, eax
    ret
endp
proc DirectXSetupIsJapan
    xor eax, eax
    ret
endp
proc DirectXSetupIsJapanNec
    xor eax, eax
    ret
endp
proc DirectXSetupW
    xor eax, eax
    ret
endp
proc DirectXUnRegisterApplication
    xor eax, eax
    ret
endp
proc DirectXSetupSetCallback
    xor eax, eax
    ret
endp
proc DirectXSetupGetVersion
    xor eax, eax
    ret
endp
proc DirectXSetupCallback
    xor eax, eax
    ret
endp
proc DirectXSetupGetFileVersion
    xor eax, eax
    ret
endp
proc DirectXLoadString
    xor eax, eax
    ret
endp
proc DirectXSetupIsEng
    xor eax, eax
    ret
endp
proc DirectXSetupShowEULA
    xor eax, eax
    ret
endp
proc DirectXSetupGetEULAA
    xor eax, eax
    ret
endp
proc DirectXSetupGetEULAW
    xor eax, eax
    ret
endp
;-------------------------------------------------------------------------------------
section '.idata' import data readable writeable
    library kernel,'KERNEL32.DLL'
    import kernel,\
        DisableThreadLibraryCalls, 'DisableThreadLibraryCalls',\
        GetModuleHandleA, 'GetModuleHandleA',\
        GetProcAddress, 'GetProcAddress'
;-------------------------------------------------------------------------------------
section '.edata' export data readable
    export 'DSETUP.DLL',\
        DllEntryPoint, 'DllEntryPoint',\
        DirectXDeviceDriverSetupA,'DirectXDeviceDriverSetupA',\
        DirectXDeviceDriverSetupW,'DirectXDeviceDriverSetupW',\
        DirectXRegisterApplicationA,'DirectXRegisterApplicationA',\
        DirectXRegisterApplicationW,'DirectXRegisterApplicationW',\
        DirectXSetupA,'DirectXSetupA',\
        DirectXSetupIsJapan,'DirectXSetupIsJapan',\
        DirectXSetupIsJapanNec,'DirectXSetupIsJapanNec',\
        DirectXSetupW,'DirectXSetupW',\
        DirectXUnRegisterApplication,'DirectXUnRegisterApplication',\
        DirectXSetupSetCallback,'DirectXSetupSetCallback',\
        DirectXSetupGetVersion,'DirectXSetupGetVersion',\
        DirectXSetupCallback,'DirectXSetupCallback',\
        DirectXSetupGetFileVersion,'DirectXSetupGetFileVersion',\
        DirectXLoadString,'DirectXLoadString',\
        DirectXSetupIsEng,'DirectXSetupIsEng',\
        DirectXSetupShowEULA,'DirectXSetupShowEULA',\
        DirectXSetupGetEULAA,'DirectXSetupGetEULAA',\
        DirectXSetupGetEULAW,'DirectXSetupGetEULAW'
;-------------------------------------------------------------------------------------
section '.reloc' fixups data discardable

Компилим, и просто бросаем в папку system клиента. ВСЁ
Ответ
#42
Только АСМ. Только хардкор :redlol:
Ответ
#43
ALF. Написал:Ребят. Всякие PE Tools-ы и т д это уже старый век.
Мой вариант такой:
Переписать DSETUP.DLL
в ней - объявление функций DirectX (НЕ реализация!!!)
т.е. что надо сделать:
Создаем все экспортируемые функции dsetup.dll у себя на проекте и ВСЁ
в DllEntryPoint - уже делаем все что душа пожелает. Толь хуки, толь хуки в потоках. Без разницы.

Вот пример на FASM
Код:
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
include 'MACRO/IF.INC'
;-------------------------------------------------------------------------------------
section '.data' data readable writeable
    ; ЭТО СЕКЦИЯ ДАННЫХ. ОБЪЯВЛЯЕМ В НЕЙ КОНСТАНТЫ, ПЕРЕМЕННЫЕ И  Т Д

;-------------------------------------------------------------------------------------
section '.text' code readable executable
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
    mov eax, [fdwReason]
    .if eax = DLL_PROCESS_ATTACH
        call LoadBaseHook ; ЭТО ВЫЗОВ ФУНКЦИИ ХУКОВ И Т Д
        invoke DisableThreadLibraryCalls, [hinstDLL]
    .endif
    mov    eax,TRUE
    ret
endp
;-------------------------------------------------------------------------------------
proc LoadBaseHook
    pushad
    ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ; ТУТ ВЫЗЫВАЕМ ВСЕ НУЖНЫЕ ХУКИ И Т Д !
    ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    popad
    ret
endp
;-------------------------------------------------------------------------------------
proc DirectXDeviceDriverSetupA
    xor eax, eax
    ret
endp
proc DirectXDeviceDriverSetupW
    xor eax, eax
    ret
endp
proc DirectXRegisterApplicationA
    xor eax, eax
    ret
endp
proc DirectXRegisterApplicationW
    xor eax, eax
    ret
endp
proc DirectXSetupA
    xor eax, eax
    ret
endp
proc DirectXSetupIsJapan
    xor eax, eax
    ret
endp
proc DirectXSetupIsJapanNec
    xor eax, eax
    ret
endp
proc DirectXSetupW
    xor eax, eax
    ret
endp
proc DirectXUnRegisterApplication
    xor eax, eax
    ret
endp
proc DirectXSetupSetCallback
    xor eax, eax
    ret
endp
proc DirectXSetupGetVersion
    xor eax, eax
    ret
endp
proc DirectXSetupCallback
    xor eax, eax
    ret
endp
proc DirectXSetupGetFileVersion
    xor eax, eax
    ret
endp
proc DirectXLoadString
    xor eax, eax
    ret
endp
proc DirectXSetupIsEng
    xor eax, eax
    ret
endp
proc DirectXSetupShowEULA
    xor eax, eax
    ret
endp
proc DirectXSetupGetEULAA
    xor eax, eax
    ret
endp
proc DirectXSetupGetEULAW
    xor eax, eax
    ret
endp
;-------------------------------------------------------------------------------------
section '.idata' import data readable writeable
    library kernel,'KERNEL32.DLL'
    import kernel,\
        DisableThreadLibraryCalls, 'DisableThreadLibraryCalls',\
        GetModuleHandleA, 'GetModuleHandleA',\
        GetProcAddress, 'GetProcAddress'
;-------------------------------------------------------------------------------------
section '.edata' export data readable
    export 'DSETUP.DLL',\
        DllEntryPoint, 'DllEntryPoint',\
        DirectXDeviceDriverSetupA,'DirectXDeviceDriverSetupA',\
        DirectXDeviceDriverSetupW,'DirectXDeviceDriverSetupW',\
        DirectXRegisterApplicationA,'DirectXRegisterApplicationA',\
        DirectXRegisterApplicationW,'DirectXRegisterApplicationW',\
        DirectXSetupA,'DirectXSetupA',\
        DirectXSetupIsJapan,'DirectXSetupIsJapan',\
        DirectXSetupIsJapanNec,'DirectXSetupIsJapanNec',\
        DirectXSetupW,'DirectXSetupW',\
        DirectXUnRegisterApplication,'DirectXUnRegisterApplication',\
        DirectXSetupSetCallback,'DirectXSetupSetCallback',\
        DirectXSetupGetVersion,'DirectXSetupGetVersion',\
        DirectXSetupCallback,'DirectXSetupCallback',\
        DirectXSetupGetFileVersion,'DirectXSetupGetFileVersion',\
        DirectXLoadString,'DirectXLoadString',\
        DirectXSetupIsEng,'DirectXSetupIsEng',\
        DirectXSetupShowEULA,'DirectXSetupShowEULA',\
        DirectXSetupGetEULAA,'DirectXSetupGetEULAA',\
        DirectXSetupGetEULAW,'DirectXSetupGetEULAW'
;-------------------------------------------------------------------------------------
section '.reloc' fixups data discardable

Компилим, и просто бросаем в папку system клиента. ВСЁ

Так всё-таки проканает такой способ Smile

P.S. В третьем сообщении писал о нём Wink
Fortuna - non penis, in manus non recipe.
Ответ
#44
Ashe;288378 Написал:P.S. В третьем сообщении писал о нём
Тебя дезинформировали Smile
В своем "делпосте" описывал тот же вариант, и скидывал ТСу.
Ответ
#45
KilRoy Написал:Тебя дезинформировали Smile
В своем "делпосте" описывал тот же вариант, и скидывал ТСу.

Я так и понял. Просто не стал пробовать, да и времени не было - поверил на слово. Smile
Fortuna - non penis, in manus non recipe.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Как сделать защиту от кликеров? flopix 51 11,786 03-23-2018, 10:54 AM
Последний пост: jr__
  Сделать кнопку визуально неактивной. flopix 5 2,091 10-01-2017, 10:20 PM
Последний пост: Lorn
  Interlude как сделать патч самому под эти хроники. grinch 4 3,738 03-27-2013, 09:54 PM
Последний пост: grinch
  как сделать l2.exe своими руками? Dementor 17 9,946 03-21-2013, 07:51 PM
Последний пост: Zubastic
  как сделать из активного скила пассивный Sensation 8 3,029 02-09-2013, 02:41 PM
Последний пост: ExLite
  Как сделать питомца ездовым? Double 5 2,807 08-28-2012, 05:19 PM
Последний пост: Double
  Необходимо сделать инекцию в фаил l2.bin don1500 1 5,835 05-15-2011, 11:38 PM
Последний пост: Smiler
  помогите сделать патч Соник™ 12 5,228 09-07-2010, 05:42 PM
Последний пост: Соник™
  Как сделать zoom для Эпилога Финал? Rus. 0 2,947 07-19-2010, 01:14 PM
Последний пост: Rus.

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)