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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  loader hacer loaders
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: loader hacer loaders  (Leído 3,496 veces)
qwerty_crack

Desconectado Desconectado

Mensajes: 54


Ver Perfil
loader hacer loaders
« en: 26 Junio 2007, 15:13 pm »

hola necesito saber si para hacer un loader debo hacerlo en ensamblador o otra cosa, o si puedo usar esos programas para hacer loaders, hay alguna diferencia ?
En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: loader hacer loaders
« Respuesta #1 en: 26 Junio 2007, 19:26 pm »

puedes usar cualquier lenguaje. tb puedes usar programas que los hacen pero si necesitas algo mas especifico pues tendrias que hacertelo tu.
En línea

Shaddy


Desconectado Desconectado

Mensajes: 722


one_bit_manipulator()


Ver Perfil WWW
Re: loader hacer loaders
« Respuesta #2 en: 26 Junio 2007, 23:16 pm »

hola necesito saber si para hacer un loader debo hacerlo en ensamblador o otra cosa, o si puedo usar esos programas para hacer loaders, hay alguna diferencia ?

programarlo te dará mas alternativas, sin embargo hay un muy buen parcheador / generador de loaders, que es el dUP2, EL MEJOR sin ninguna duda, sin embargo si quieres hacer un loader yo recomiendo delphi, a mi me gusta mucho ese lenguaje porque es sencillo, ahora si, te pesará mínimo 400 kb, así que también lo puedes hacer en ensamblador.. lo que prefieras, pero todo depende de que quieras loadear..

Salu2..
En línea

"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com
qwerty_crack

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: loader hacer loaders
« Respuesta #3 en: 21 Julio 2007, 22:58 pm »

LOADER

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

#define GAME "hl.exe"
#define DLL "Hook.dll"

bool ok;
int main()
{
int a;
HANDLE hAndle;
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);

  while(!ok)
  {
  HANDLE hAndle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if(Process32First(hAndle,&pe))
  {
 
do
{
HANDLE hTemp=OpenProcess(PROCESS_ALL_ACCESS, 0, pe.th32ProcessID);
if(hTemp)
{

if( strcmpi(pe.szExeFile, GAME) == 0)
{
                   
       hAndle = OpenProcess(PROCESS_ALL_ACCESS, FALSE,pe.th32ProcessID);
      LPVOID     lpRemoteAddress=VirtualAllocEx(hAndle,NULL,strlen(DLL),MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);

 WriteProcessMemory(hAndle, lpRemoteAddress, (LPVOID)DLL, strlen(DLL), NULL);

CreateRemoteThread(hAndle, NULL, 0,(LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA"), lpRemoteAddress, 0, NULL);
 ok=true;
 break;
              }
                   
CloseHandle(hTemp);
      }
}
while(Process32Next(hAndle, &pe));
    }
}
   

 
  return 0;
}



DLL

Código:
__stdcall DllMain(HANDLE handle,DWORD message,LPVOID lpReservd)
{

switch(message)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls((HMODULE)handle);
MessageBox(NULL,"TEST","TEST",MB_OK);
//real_glBegin=(FUNC_GLBEGIN)DetourFunction((PBYTE)DetourFindFunction("OpenGL32","glBegin"),(PBYTE)myGlBegin);
//real_glViewport=(FUNC_GLVIEWPORT)DetourFunction((PBYTE)DetourFindFunction("OpenGL32","glViewport"),(PBYTE)myGlViewport);
break;
}



return TRUE;
}


Código:
#include "stdafx.h"
#include "DigiHook.h"
#include "psapi.h"
#include <windows.h>
#include <Tlhelp32.h>
#include <detours.h>
#include <string.h>
#define end1 '\n'

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

CWinApp theApp;

using namespace std;

// you need psapi.lib, and detours.lib

BOOL InjectIntoProcess(TCHAR* szExeName, TCHAR* szDllName);

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
int hooked = FALSE;
cout << "Waiting to inject ..." << end1;

while (!hooked)
{
if (InjectIntoProcess( _T( "hl2.exe" ), _T( "digihook.dll" ) ) )
{
hooked = TRUE;
cout << "HL2 successfully hooked!";
}
Sleep(100);
}

cin.get();
}

return nRetCode;
}

BOOL InjectIntoProcess(TCHAR* szExeName, TCHAR* szDllName)
{
    TCHAR szProcessName[MAX_PATH];
    TCHAR szDllNameAndPath[MAX_PATH];
    DWORD aProcesses[1024], cb, cProcesses;
    HANDLE hProcess = NULL;
    HMODULE hMod = NULL;
    UINT i = 0;

    // Get the full path to the DLL for later use
    GetCurrentDirectory(MAX_PATH, szDllNameAndPath);
    wcscat_s(szDllNameAndPath, _T("\\"));
    wcscat_s(szDllNameAndPath, szDllName);

    // Get the list of process identifiers
    if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cb))
        return FALSE;

    // Calculate how many process identifiers were returned
    cProcesses = cb / sizeof(DWORD);

    // Get the name and process identifier for each process
    for(i = 0; i < cProcesses; i++)
    {
        hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, aProcesses[i]);

        if(hProcess)
        {
            if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cb))
            {
                GetModuleBaseNameW(hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR));
            }

            if(wcscmp(wcslwr(szProcessName), szExeName) == 0)
            {
                // We found the process, inject our DLL
                if(DetourContinueProcessWithDllW(hProcess, szDllNameAndPath))
                {
                    return TRUE;
                }
            }
        }
       
        CloseHandle(hProcess);
    }
    return FALSE;
}

este es un code de un loader, lo traje de un foro de programación sobre half life y otros, hay más codes, este lo hizo un tal sinner.
 
« Última modificación: 22 Julio 2007, 06:03 am por qwerty_crack » En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: loader hacer loaders
« Respuesta #4 en: 22 Julio 2007, 00:39 am »

parece mas un cheto que un loader. me inclino mas poer el cheto del hl que por loader.
En línea

qwerty_crack

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: loader hacer loaders
« Respuesta #5 en: 22 Julio 2007, 06:05 am »

se hehehe  ;D es pero solamente el inyector, y aparte no funciona, igual modifické el post con un code que si funciona según leí, lo que pasa es que te digo que no es el cheto porke falta el code propio del cheto, pero la finalidad si es para un cheto...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como hacer un loader
Ingeniería Inversa
Dio_Fuby 2 3,984 Último mensaje 17 Octubre 2014, 16:54 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines