· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.HEAP —› Увидеть в живую

Посл.отвђт Сообщен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