elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Necesito un code para matar procesos en: 5 Marzo 2007, 03:08
pues eso necesito un codigo para matar dos procesos mediante el nombre del ejecutable (ejemplo: proceso.exe y proceso2.exe ) que funcione en win98/me/xp/2000

es para una aplicacion de windows, no de consola.
2  Programación / Programación C/C++ / Nombre de ejecutable en: 19 Enero 2007, 21:17
Hola, necesito un code donde no permita cambiar el nombre del archivo ejecutable o si lo cambian que el programa no arranque, trabajo en VC++
3  Programación / Programación C/C++ / Problema al compilar en: 12 Diciembre 2006, 20:05
cuando intento compilar el siguiente codigo sale esto:
error C2660: 'GetProcAddress' : function does not take 1 parameters

si alguien me puede corregir  :-\

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

#define PROCESS_NAME "target.exe"
#define DLL_NAME "injected.dll"


//I could just use PROCESS_ALL_ACCESS but it's always best to use the absolute bare minimum of priveleges, so that your code works in as
//many circumstances as possible.
#define CREATE_THREAD_ACCESS (PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ)
 
BOOL WriteProcessBYTES(HANDLE hProcess,LPVOID lpBaseAddress,LPCVOID lpBuffer,SIZE_T nSize);

BOOL LoadDll(char *procName, char *dllName);
BOOL InjectDLL(DWORD ProcessID, char *dllName);
unsigned long GetTargetProcessIdFromProcname(char *procName);

bool IsWindowsNT()
{
   // check current version of Windows
   DWORD version = GetVersion();
   // parse return
   DWORD majorVersion = (DWORD)(LOBYTE(LOWORD(version)));
   DWORD minorVersion = (DWORD)(HIBYTE(LOWORD(version)));
   return (version < 0x80000000);
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    if(IsWindowsNT())
       LoadDll(PROCESS_NAME, DLL_NAME);
    else
   MessageBox(0, "Your system does not support this method", "Error!", 0);

    return 0;
}


BOOL LoadDll(char *procName, char *dllName)
{
   DWORD ProcID = 0;

   ProcID = GetProcAddress(procName);

   if(!(InjectDLL(ProcID, dllName)))
      MessageBox(NULL, "Process located, but injection failed", "Loader", NULL);
   
   return true;
}

BOOL InjectDLL(DWORD ProcessID, char *dllName)
{
   HANDLE Proc;
   char buf[50]={0};
   LPVOID RemoteString, LoadLibAddy;

   if(!ProcessID)
      return false;

   Proc = OpenProcess(CREATE_THREAD_ACCESS, FALSE, ProcessID);

   if(!Proc)
   {
      sprintf(buf, "OpenProcess() failed: %d", GetLastError());
      MessageBox(NULL, buf, "Loader", NULL);
      return false;
   }

   LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");

   RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(DLL_NAME), MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
   WriteProcessMemory(Proc, (LPVOID)RemoteString, dllName, strlen(dllName), NULL);
        CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, (LPVOID)RemoteString, NULL, NULL);   
   
   CloseHandle(Proc);

   return true;
}

unsigned long GetTargetProcessIdFromProcname(char *procName)
{
   PROCESSENTRY32 pe;
   HANDLE thSnapshot;
   BOOL retval, ProcFound = false;

   thSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

   if(thSnapshot == INVALID_HANDLE_VALUE)
   {
      MessageBox(NULL, "Error: unable to create toolhelp snapshot", "Loader", NULL);
      return false;
   }

   pe.dwSize = sizeof(PROCESSENTRY32);

   retval = Process32First(thSnapshot, &pe);

   while(retval)
   {
      if(StrStrI(pe.szExeFile, procName) )
      {
         ProcFound = true;
         break;
      }

      retval    = Process32Next(thSnapshot,&pe);
      pe.dwSize = sizeof(PROCESSENTRY32);
   }

   return pe.th32ProcessID;
}
4  Programación / Programación C/C++ / Crear Clave En El Registro en: 24 Noviembre 2006, 20:06
bueno necesito un ejemplo para crear una llave en el registro, sin valores.. unicamente la llave
5  Programación / Programación C/C++ / Re: Funcion GetProcessPID (GetProcessID) en: 26 Octubre 2006, 22:38
he editado todo, haber ahora si me explique mejor  ;D
6  Programación / Programación C/C++ / Re: Obtener Pid De mi Programa desde una DLL en: 26 Octubre 2006, 02:38
puedes usar getpid(); , pero creo que te refieres mas a una aplicacion externa cierto?

Si
7  Programación / Programación C/C++ / Funcion GetProcessPID (GetProcessID) en: 25 Octubre 2006, 20:20
Cual es la funcion para c++ y las declaraciones que necesito... asi puedo detectar el PID de un proceso X

Llamo a la funcion pidiendo por el pid del proceso por ej explorer.exe y me da como resultado el PID del explorer.exe

muchas gracias

saludos Atte. Martinss
8  Programación / Programación Visual Basic / Proteger Mi Aplicación Contra Inyecciones en: 18 Octubre 2006, 20:22
Hola a todos, en mis post anteriores preguntaba como podia inyectar una DLL en procesos.. ya lo he conseguido pero mi pregunta ahora es como podria hacer para proteger a mi programa contra las inyecciones de DLL.
9  Programación / Programación Visual Basic / Pregunta sobre inyeccion en VB en: 10 Agosto 2006, 03:52
bueno, lo que queria saber es si hay alguna forma de bloquear las inyecciones de DLL o EXE en el proceso de mi programa de tal forma que de error o algo...

Gracias.
10  Programación / Programación Visual Basic / Re: Sobre inyecciones en EXE's y DLL en: 30 Mayo 2006, 19:25
si puedes pararlo, depura tu propio proceso. te haces un "lanzador" que depure el ejecutable y no podran injectarle.

Me puedes explicar como es eso?  :-\
Páginas: [1] 2
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines