seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] listar modulo (tlhelp32.h)

Ir para baixo  Mensagem [Página 1 de 1]

1[tutorial] listar modulo (tlhelp32.h) Empty [tutorial] listar modulo (tlhelp32.h) Qua Jan 16, 2013 8:10 am

Kodo no Kami

Kodo no Kami
master
master

bom galera para listar os modulos (dll) carregado por um processo basta agente declarar a biblioteca windows.h e tlhelp32.h

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
}

depois usar a funçao CreateToolhelp32Snapshot passar como argumento a constante TH32CS_SNAPMODULE e o pid do processo, tambem temos q atribuir ela a uma variavel do tipo HANDLE

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
  HANDLE proc;
 
  proc = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,4064);
}

criamos a estrutura MODULEENTRY32 e zeramos ela

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
  HANDLE proc;
  MODULEENTRY32 modu;
 
  proc = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,4064);
 
  modu.dwSize = sizeof(modu);
}

agora usamos a funçao Module32First passsamos como argumento a variavel HANDLE e endereço da estrutura MODULEENTRY32

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
  HANDLE proc;
  MODULEENTRY32 modu;
 
  proc = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,4064);
 
  modu.dwSize = sizeof(modu);
  Module32First(proc,&modu);
}

agora usamos o laço do-while, no while usamos a funçao Module32Next nele passamos os mesmo argumento do Module32First

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
  HANDLE proc;
  MODULEENTRY32 modu;
 
  proc = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,4064);
 
  modu.dwSize = sizeof(modu);
  Module32First(proc,&modu);
  do
  {
  }
  while(Module32Next(proc,&modu));
}

dentro do laço do agente exibi os modulos para isso usamos a estrutra MODULEENTRY32 e o atributo szModule para mostrar o nome dos modulos e szExePath para mostrar o local completo (existe outros atributos alem desses)

Código:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

int main(void)
{
  HANDLE proc;
  MODULEENTRY32 modu;
 
  proc = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,4064);
 
  modu.dwSize = sizeof(modu);
  Module32First(proc,&modu);
  do
  {
      printf("%s\n",modu.szExePath);
  }
  while(Module32Next(proc,&modu));
}

bom galera e isso ^^

by hacker fts315

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos