Hook de Pastas e Diretorios
Será possivel hookar os diretorios ou pastas do sistema? Estou desenvolvento um sistema de protecao do windows e queria protejer com uma senha ou somente bloquear o acesso (ao tentar acessar a pasta o programa) às pastas selecionadas pelo usuario. Porem nao consegui e fazer sozinho, nao achei nada a respeito aqui no forum ou em outro site.
Vlw e t+
Vlw e t+
Crash
Curtidas 0
Respostas
Nerdex
20/05/2005
Você pode utilizar o MadCodeHook (www.madshi.net) que é free para uso não comercial... mas quem é perito nisto é o Administrador Nildo, para isto procure os posts dele sobre o assunto...: :wink:
GOSTEI 0
Crash
20/05/2005
É eu sei q ele eh perito nisso.. esse post foi subliminarmente para ele..heheheh... mais, eu ja procurei aqui no forum... e eu tambem jah conhecia o MadShi e nao consegui nada com ele.
mais vlw
mais vlw
GOSTEI 0
Michael
20/05/2005
Olá amigo!
A resposta é a q o amigo NerdeX escreveu: madCodeHook. Com ela vc pode monitorar as chamadas da API do Windows e interceptá-las. Vc só precisa saber quais API´s são usadas no seu caso. Baixe a madCodeHook ( http://madcodehook.madshi.net ) e veja os exemplos fornecidos pelo autor. É mais fácil do q vc imagina.
Estes links tbm ajudam:
http://help.madshi.net/madCodeHook.htm
http://help.madshi.net/HowToUseMadCodeHook.htm
http://help.madshi.net/HookingRules.htm
[]´s
A resposta é a q o amigo NerdeX escreveu: madCodeHook. Com ela vc pode monitorar as chamadas da API do Windows e interceptá-las. Vc só precisa saber quais API´s são usadas no seu caso. Baixe a madCodeHook ( http://madcodehook.madshi.net ) e veja os exemplos fornecidos pelo autor. É mais fácil do q vc imagina.
Estes links tbm ajudam:
http://help.madshi.net/madCodeHook.htm
http://help.madshi.net/HowToUseMadCodeHook.htm
http://help.madshi.net/HookingRules.htm
[]´s
GOSTEI 0
Crash
20/05/2005
blz.. sem problema. eu jah usei o MadShi... mais eu quero eh saber qual função da API eu devo aplicar o hook???
GOSTEI 0
Nildo
20/05/2005
Olá Crash!
Seguinte, você deve aplicar o Hook em todas as APIs relacionadas a manuseio de arquivos. Lembrando que, para o Win98, o acesso aos arquivos estará liberado via MS-DOS, pois não é possível Hookar aplicações 16 bits com essa biblioteca. Eu só sei que no win98, para bloquear acesso a arquivo e essas coisas, deve-se ancorar as interrupções de manuseio de arquivo. Mas enfim, respondendo a sua pergunta:
Essas são algumas APIs relacionadas a manuseio de arquivo (todas estão na kernel32.dll)
Funções absoletas:
Mas não será preciso ancorar todas elas. Se quiser esconder um arquivo, pode ancorar a [b:1fa3682259]FIndFirst A/W[/b:1fa3682259] e [b:1fa3682259]Findnext A/W[/b:1fa3682259]. Mas para proteger, deve-se ancorar as APIs [b:1fa3682259]DeleteFile A/W[/b:1fa3682259], [b:1fa3682259]OpenFile A/W[/b:1fa3682259].
Esses [b:1fa3682259]A/W[/b:1fa3682259] fazem parte do nome das APIs, exemplo: [b:1fa3682259]OpenFileA[/b:1fa3682259] e [b:1fa3682259]OpenFileW[/b:1fa3682259]. As APIs que utilizam estes nomes com A e W no final, existem pelo fato de poderem receber algum tipo de String. para o caso do [b:1fa3682259]A[/b:1fa3682259] o parâmetro é pasado via AnsiString, no caso do [b:1fa3682259]W[/b:1fa3682259], via WideString.
Bom é isso, por enquanto. Qualquer dúvida utilize este tópico que eu respondo.
Um abraço
Seguinte, você deve aplicar o Hook em todas as APIs relacionadas a manuseio de arquivos. Lembrando que, para o Win98, o acesso aos arquivos estará liberado via MS-DOS, pois não é possível Hookar aplicações 16 bits com essa biblioteca. Eu só sei que no win98, para bloquear acesso a arquivo e essas coisas, deve-se ancorar as interrupções de manuseio de arquivo. Mas enfim, respondendo a sua pergunta:
Essas são algumas APIs relacionadas a manuseio de arquivo (todas estão na kernel32.dll)
AreFileApisANSI
CancelIO
CopyFile
CopyFileEx
CopyProgressRoutine
CreateDirectory
CreateDirectoryEx
CreateFile
CreateIoCompletionPort
DefineDosDevice
DeleteFile
FileIOCompletionRoutine
FindClose
FindCloseChangeNotification
FindFirstChangeNotification
FindFirstFile
FindFirstFileEx
FindNextChangeNotification
FindNextFile
FlushFileBuffers
GetBinaryType
GetCompressedFileSize
GetCurrentDirectory
GetDiskFreeSpace
GetDiskFreeSpaceEx
GetDriveType
GetFileAttributes
GetFileAttributesEx
GetFileInformationByHandle
GetFileSize
GetFileType
GetFullPathName
GetLogicalDrives
GetLogicalDriveStrings
GetQueuedCompletionStatus
GetShortPathName
GetTempFileName
GetTempPath
GetVolumeInformation
LockFile
LockFileEx
MoveFile
MoveFileEx
PostQueuedCompletionStatus
QueryDosDevice
ReadDirectoryChangesW
ReadFile
ReadFileEx
RemoveDirectory
SearchPath
SetCurrentDirectory
SetEndOfFile
SetFileApisToANSI
SetFileApisToOEM
SetFileAttributes
SetFilePointer
SetVolumeLabel
UnlockFile
UnlockFileEx
WriteFile
WriteFileEx
Funções absoletas:
_hread
_hwrite
_lclose
_lcreat
_llseek
_lopen
_lread
_lwrite
OpenFile
SetHandleCount
Mas não será preciso ancorar todas elas. Se quiser esconder um arquivo, pode ancorar a [b:1fa3682259]FIndFirst A/W[/b:1fa3682259] e [b:1fa3682259]Findnext A/W[/b:1fa3682259]. Mas para proteger, deve-se ancorar as APIs [b:1fa3682259]DeleteFile A/W[/b:1fa3682259], [b:1fa3682259]OpenFile A/W[/b:1fa3682259].
Esses [b:1fa3682259]A/W[/b:1fa3682259] fazem parte do nome das APIs, exemplo: [b:1fa3682259]OpenFileA[/b:1fa3682259] e [b:1fa3682259]OpenFileW[/b:1fa3682259]. As APIs que utilizam estes nomes com A e W no final, existem pelo fato de poderem receber algum tipo de String. para o caso do [b:1fa3682259]A[/b:1fa3682259] o parâmetro é pasado via AnsiString, no caso do [b:1fa3682259]W[/b:1fa3682259], via WideString.
Bom é isso, por enquanto. Qualquer dúvida utilize este tópico que eu respondo.
Um abraço
GOSTEI 0
Crash
20/05/2005
vlw nildao!!!
GOSTEI 0
Crash
20/05/2005
Só uma duvida: Eu queria esconder um drive (C: por exemplo) so que somente para visualizacao dos arquivos, Se eu hookar as APIs FindFirstFile e FindNextFile ele nao mostra mais eu tb nao consigo executar por exemplo um programa que está dentro de um diretorio.
t+
t+
GOSTEI 0
Nildo
20/05/2005
Só uma duvida: Eu queria esconder um drive (C: por exemplo) so que somente para visualizacao dos arquivos, Se eu hookar as APIs FindFirstFile e FindNextFile ele nao mostra mais eu tb nao consigo executar por exemplo um programa que está dentro de um diretorio.
t+
Você consegue executar sim, porém, o windows verifica a existência do arquivo antes de executá-lo.
Não teria lógica você esconder mas permitir que fosse executado
GOSTEI 0
Crash
20/05/2005
no caso seria executado somente por um atalho no desktop por exemplo.
GOSTEI 0
Crash
20/05/2005
outra coisa: queria bloquear a criaçao de arquivos.. so que da um erro muito esquisito.
eu declaro uma variavel no meio da rotina, e a criaçao de arquios eh bloqueada... mais o windows cria um arquivo com nome muito esquisito no desktop e algums programas que precisam criar aquivos tb nao conseguem.
eu declaro uma variavel no meio da rotina, e a criaçao de arquios eh bloqueada... mais o windows cria um arquivo com nome muito esquisito no desktop e algums programas que precisam criar aquivos tb nao conseguem.
GOSTEI 0
Nildo
20/05/2005
outra coisa: queria bloquear a criaçao de arquivos.. so que da um erro muito esquisito.
eu declaro uma variavel no meio da rotina, e a criaçao de arquios eh bloqueada... mais o windows cria um arquivo com nome muito esquisito no desktop e algums programas que precisam criar aquivos tb nao conseguem.
Mas se você bloqueia a criação de arquivos, com certeza os outros aplicativos não poderão criar também
GOSTEI 0