Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[DELPHI]Trabalhando com o Windows e suas bibliotecas


AceStryker
 Compartilhar

Posts Recomendados

Hoje vou dar uma grande revisada nas principais funções do windows!Preparem-se para se divertir!!!

 

OpenProcess()

 

Origem:kernel32.dll

ObjetivoEsta função é utilizada para poder pegar o handle de algum processo atravéz do seu PID.

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

 

Parâmetros:

 

dwDesiredAccess:

uma integral que seleciona o acesso ao processo.Geralmente utilizamos PROCESS_ALL_ACCESS.

É necessário se cadastrar para acessar o conteúdo.

 

dInheritHandle:

Caso seja true, o processo vai "herdar" o handle.Geralmente utilizo false

 

dwProcessID:

Este é o PID do processo que você quer o Handle.

 

Exemplo de Uso:

É necessário se cadastrar para acessar o conteúdo.

 

VejaTambém:

É necessário se cadastrar para acessar o conteúdo.

 

WriteProcessMemory()

 

Origem:kernel32.dll

 

Objetivo:Escrever na memória de um processo, com diversas maneiras.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hProcess:

É o handle que pegamos pelo OpenProcess() citado acima.

 

lpBaseAddress:

Address o qual iremos mudar a memória

 

lpBuffer:

Valor que colocaremos, pode ser um byte também, para trocar seu comando.

 

nSize:

Tamanho do pacote em bytes

 

lpNumberOfBytesWritten:

Variável que recebe os bytes recebidos.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

ReadProcessMemory()

 

Origem:kernel32.dll

 

Objetivo:Ler um valor na memória

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hProcess:

É o handle que pegamos pelo OpenProcess() citado acima.

 

lpBaseAddress:

Address o qual iremos ler na memória

 

lpBuffer:

Variável para o valor que será recebido.

 

nSize:

Tamanho do pacote em bytes

 

lpNumberOfBytesWritten:

Variável que recebe os bytes recebidos.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

VirtualAlloc()

 

Origem:kernel32.dll

 

Objetivo:Aloca um espa;=ço na memória do processador.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

lpAddress:

É o primeiro address da região que será alocada.

 

dwSize:

Tamanho em bytes da alocação

 

flAllocationType:

Tipo da Alocação.

 

flProtect:

Proteção da memória que será alocada.Leia mais em:

É necessário se cadastrar para acessar o conteúdo.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

 

VirtualProtect()

 

Origem:kernel32.dll

 

Objetivo:Altera a proteção em uma região de páginas cometidos no espaço de endereço virtual do processo de chamada.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

lpAddress:

 

Primeiro pointer da região para a proteção

 

dwSize:

 

O tamanho da região de proteção.

 

flNewProtect:

 

a opção de memória.Mesma do VirtualAlloc sitado acima.

 

lpflOldProtect

 

Pointer que recebe o acesso de violação.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

Veja Também:

 

É necessário se cadastrar para acessar o conteúdo.

 

FreeLibrary()

 

Origem:kernel32.dll

 

Objetivo:Libera uma DLL da memória de programa.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

HModule:

Handle do módulo da biblioteca.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

Veja Também:

 

É necessário se cadastrar para acessar o conteúdo.

 

LoadLibrary()

 

Origem:kernel32.dll

 

Objetivo:Carrega uma DLL em seu programa.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

lpFileName

Local da DLL no disco rigido.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

TerminateProcess()

 

Origem:kernel32.dll

 

Objetivo:Termina um processo via handle.

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hProcess:

Handle do processo a ser terminado.

 

uExitCode:

Codigo de fechamento.Leia mais sobre isto em:

É necessário se cadastrar para acessar o conteúdo.

É necessário se cadastrar para acessar o conteúdo.

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

SuspendThread()

 

Origem:kernel32.dll

 

Objetivo:suspende uma thread pelo seu handle

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hThread

Handle da thread que será suspendida.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

MessageBoxA()

 

Origem:user32.dll

 

Objetivo:Abre um dialogo de mensagem

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hWnd

Handle do dono da mensagem

 

lpText

Texto da mensagem

 

lpCaption

Título da mensagem

 

uType:

Tipo da mensagem.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

GetModuleHandle()

 

Origem:kernel32.dll

 

Objetivo:Pega o handle de algum módulo

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

lpModuleName

Nome do módulo.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

GetProcAddress()

 

Origem:kernel32.dll

 

Objetivo:Retorna o adress de alguma função

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hModule

Handle do módulo.

 

lpProcName:

Nome do procedure para pegar o address.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

ResumeThread()

 

Origem:kernel32.dll

 

Objetivo:Resume alguma thread que havia sido suspensa

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

hThread:

Handle da thread.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

 

VirtualQuery()

 

Origem:kernel32.dll

 

Objetivo:Recupera informações sobre um intervalo de páginas no espaço de endereço virtual do processo

 

Sintaxe:

É necessário se cadastrar para acessar o conteúdo.

Parâmetros:

 

lbAddress:

Address para pegar as informações.

 

lpBuffer:

um pointer de MEMORY_BASIC_INFORMATION que retorna diversas informações sobre o address

 

dwLength:

Tamanho do buffer lpBuffer.

 

Exemplo de Uso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Veja Também:

É necessário se cadastrar para acessar o conteúdo.

*

Créditos

 

Acho que por hoje é só.Obrigado por tudo e os créditos vão para mim e para o MSDN pela enorme biblioteca haha.

Link para o comentário
Compartilhar em outros sites

Poderia coloca VirtualQueryEx?

 

Adicionei VirtualQuery, a única diferença entre os dois é que o VirtualQueryEX pega informações de um outro processo, Utilize a mesma sintaxe só que adicione o handle do processo que você quer modificar no primeiro membro.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.