|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 20, 2003 13:49:50 · Поправил: Saint German Живу я в городе Запорожье. Нормального кодера знаю только одного - Lord PoiSon мы с ним хотели бы связаться с кодерами пишушими на ASMе и живущими в этом городе. Прошу извинения у тех кто это прочитал зря. saintgerman@mail.ru |
|
|
Дата: Сен 20, 2003 14:25:10 Saint German Вижу тут уже народ на пиво подбивается :)) Это правильно :) Нечего на форуме сидеть :) |
|
|
Дата: Сен 20, 2003 17:37:00 · Поправил: Безпощадный даос Мы не ищум третьего чтобы сообразить на троих и я му-му [вырезано модератором]. Повторяю еще раз: ищем запорожских ASM - кодеров. В почти миллионном городе нет ни одного сайта о ASMе. Если кто-то из Запорожья хотя-бы раз заходил на это сайт (самый лучший на просторах СНГ) отзовитесь! Если Вы спросите зачем, то я отвечу, что мною движет естественное желание общаться с себе подобными и делать что-то полезное. Да и ПИВО это ХОРОШО. Чтобы не быть голословным показую свой исходник (перехват API - функции FindNextFileA для Windoze9x). Копируйте k32.lib из Invilibility.zip by Y0da! [модератор: используйте тег CODE] ~~~SOURCE~~~ Y0da! спасибо за идею, k32.lib и ObtainWriteAccessInSharedArea - функцию. Y0da! I thank you very much for your idea, k32.lib and ObtainWriteAccessInSharedArea proc. Link: http://y0da.cjb.net ;--------------------------------------------------------- Файл invisible.asm ;--------------------------------------------------------- Command Line: ml /c /coff /Cp invisible.asm Link /MERGE:.rdata=.text /FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078 /SUBSYSTEM:WINDOWS invisible.obj ;///////////////////////////////////////////////////////// include mac.asm ;--------------------------------------------------------- AppModel .386 ;--------------------------------------------------------- include \MASM32\INCLUDE\windows.inc ;--------------------------------------------------------- include \MASM32\INCLUDE\kernel32.inc include \MASM32\INCLUDE\user32.inc ;--------------------------------------------------------------------- ------ includelib \MASM32\LIB\kernel32.lib includelib \MASM32\LIB\user32.lib ;---------------------------------------------------------include InvisibleFiles9x.asm ;--------------------------------------------------------- .CODE Main: Mov EBX, "daeR" Invoke HideFiles, EBX Invoke MessageBox, 0, CADD("Попробуй найти файлы Read*.*"), CADD("Невидимость"), 0 Invoke UnHideFiles Invoke MessageBox, 0, CADD("Попробуй сейчас"), CADD("Невидимость"), 0 Invoke ExitProcess, 0 end Main ;--------------------------------------------------------- ;///////////////////////////////////////////////////////////////////// ////// Файл invisibleFiles9x.asm ;--------------------------------------------------------- ; PROTOTIPES ;********************************************************* HideFiles PROTO :DWORD UnHideFiles PROTO ;--------------------------------------------------------- ; EXTERNAL INCLUDES ;********************************************************* include mac.asm include common.asm ;--------------------------------------------------------- ; CONSTANTS ;********************************************************* .CONST NewFindNextFileASize equ NewFindNextFileAEnd - NewFindNextFileAStart bFNFSign BYTE 2Bh, 0D2h, 68h, 0Fh, 1Dh ;--------------------------------------------------------- ; CODE SECTION ;********************************************************* .CODE ;--------------------------------------------------------- NewFindNextFileAStart: PushAll GetDelta ;--------------------------------------------------------- Lea EDI, [ESP + sizeof PUSHA_STRUCT + 4 + 4] Push [EDI +4 ] Push [EDI] Lea EAX, [EBP + @F] Push EAX ;--------------------------------------------------------- sub EDX, EDX push 0BBFA1D67h Jmp [EBP + adv_FNF] @@: Mov EDX, EAX Sub ECX, ECX Mov ESI, [EDI + 4 ] Mov EBX, DWORD PTR [ESI].WIN32_FIND_DATA.cFileName Cmp EBX, [EBP + adv_NameFiles] Jnz @F Inc ECX @@: Mov [ ESP ].PUSHA_STRUCT._ECX, ECX Mov [ ESP ].PUSHA_STRUCT._EDX, EDX Push [ EBP + adv_FNF ] Pop [ ESP ].PUSHA_STRUCT._EAX PopAll Cmp EDX, FALSE Jz LFNF_exit Cmp ECX, 0 Jz LFNF_exit sub EDX, EDX push 0BBFA1D67h Jmp EAX LFNF_exit: Mov EAX, EDX Ret 8 @LFNF: adv_FNF DWORD 0 adv_NameFiles DWORD 0 NewFindNextFileAEnd: ;--------------------------------------------------------- HideFiles proc USES ESI EDI, NameFiles :DWORD ;--------------------------------------------------------- AsDWORD hK32dll_2 AsDWORD pFNF AsDWORD pNewFindNextFileA ;--------------------------------------------------------- Invoke LoadLibrary, CADD("Kernel32.dll") Mov hK32dll_2, EAX Invoke GetProcAddress, EAX, CADD("FindNextFileA") Mov pFNF, EAX Push EAX Pop adv_FNF Add adv_FNF, 7 ;--------------------------------------------------------- Push NameFiles Pop adv_NameFiles ;--------------------------------------------------------- Invoke VirtualAlloc, NULL, NewFindNextFileASize, MEM_COMMIT + VA_SHARED, PAGE_EXECUTE_READWRITE Mov pNewFindNextFileA, EAX ;--------------------------------------------------------- Mov ECX, NewFindNextFileASize Mov EDI, pNewFindNextFileA Mov ESI, NewFindNextFileAStart Rep Movsb ;--------------------------------------------------------- Mov EDI, pFNF Push 5 Push EDI call ObtainWriteAccessInSharedArea9x Mov EDI, pFNF Mov byte ptr [EDI], 0E9h Mov EAX, pNewFindNextFileA Sub EAX, EDI Sub EAX, 5 Mov dword ptr [EDI + 1], EAX ;--------------------------------------------------------- Ret 4 HideFiles endp ;-------------------------------------------------------- UnHideFiles proc USES ESI EDI Mov ESI, offset bFNFSign Mov ECX, 5 Mov EDI, pFNF Rep Movsb Invoke VirtualFree, pNewFindNextFileA, 0, MEM_RELEASE Ret ;--------------------------------------------------------- UnHideFiles endp ;--------------------------------------------------------- Файл common.asm ;--------------------------------------------------------- ; PROTOTIPES ;********************************************************* ;--------------------------------------------------------- VxDCall4 PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD ;--------------------------------------------------------- ; STRUCTURES ;********************************************************* PUSHA_STRUCT STRUCT 1 _EDI DWORD ? _ESI DWORD ? _EBP DWORD ? _ESP DWORD ? _EBX DWORD ? _EDX DWORD ? _ECX DWORD ? _EAX DWORD ? PUSHA_STRUCT ENDS ;--------------------------------------------------------- ; CONSTANTS ;********************************************************* .CONST ;--------------------------------------------------------- VA_SHARED equ 08000000h _PageModifyPermissions equ 00001000Dh PC_USER equ 000040000h PC_STATIC equ 020000000h PC_WRITEABLE equ 000020000h ;--------------------------------------------------------- ; EXTERNAL INCLUDES ;********************************************************* includelib K32lib.lib ;--------------------------------------------------------- ; CODE SECTION ;********************************************************* .CODE ;-------------------------------------------------------- ObtainWriteAccessInSharedArea9x PROC USES EBX ESI EDI, p : LPVOID, dwc : DWORD ;--------------------------------------------------------- ; calc page addr/size mov ecx, dwc add ecx, 4096 shr ecx, 12 mov edi, p shr edi, 12 ; perform VxDCall push PC_STATIC or PC_WRITEABLE or PC_USER push 0 push ecx push edi push _PageModifyPermissions call VxDCall4 ret ;--------------------------------------------------------- ObtainWriteAccessInSharedArea9x ENDP ;--------------------------------------------------------- ;///////////////////////////////////////////////////////// Файл mac.asm: ;--------------------------------------------------------- PushAll macro PushFD PushAD endm ;--------------------------------------------------------------------- ------ PopAll macro PopAD PopFD endm ;--------------------------------------------------------- CADD MACRO quoted_text LOCAL vname,lbl Jmp lbl vname db quoted_text,0 lbl: EXITM <ADDR vname> ENDM ;--------------------------------------------------------- AppModel MACRO Processor Processor .model flat, stdcall option casemap :none ENDM ;--------------------------------------------------------- AsDWORD macro _quoted_ LOCAL lbl .CODE Jmp lbl _quoted_ DWORD ? lbl: endm ;--------------------------------------------------------- GetDelta macro LOCAL lbl .CODE Call lbl lbl: Pop EBP Sub EBP, offset lbl endm ;--------------------------------------------------------- ;///////////////////////////////////////////////////////// |
|
|
Дата: Окт 11, 2003 13:44:45 · Поправил: Saint German Да не хотел я обидеть Умку, это ж каламбур такой. О существовании этого самого Умки я только узнал. Если он обиделся, то прошу у тебя извенения Умка! А ты модератор не прав! |
|
|
Дата: Окт 12, 2003 02:12:01 Saint German Прошу извинения у тех кто это прочитал зря Почему зря? Ты развил мою тему "Давайте знакомиться...". Я, в принципе, тоже ставил цель познакомиться с кодерами на асме из своего города и рад, что эта тема так понравилась всем остальным. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.163 |