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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion dll: [ Delphi ] - [ C++ ] - [ VB ] - [ Masm32 ] - [ C# ??? ] en: 14 Octubre 2009, 04:57 am
como funciona?
lo compile en C++, y todo normal, lo ejecuto por consola y no muestra nada ni hace nada...
abro el notepad y todo normal...

entonces que hace? no inyecta nada ni codigo

Compilialo en consola de C++, antes abre el block de notas y luego veras que aparecera un mensaje, esto no es inyeccion dll esto es inyeccion dll sin dll osea inyecta un messagebox como si fuese el la dll, a mi me funciona.
2  Programación / .NET (C#, VB.NET, ASP) / [Source] Inyeccion Dll Microsoft Visual C# (Sharp) 2008 en: 3 Octubre 2009, 02:26 am
Hola, guiandome de codigos de inyeccion dll en no se cuantos lenguajes pude lograr uno en C# :P.

Aqui se los dejo espero lo disfruten :xD:

Codigo InyectDll:


Código
  1.        private void InjectDLL(IntPtr hProcess, String strDLLName)
  2.        {
  3.            IntPtr bytesout;
  4.            Int32 LenWrite = strDLLName.Length + 1;
  5.            IntPtr AllocMem = (IntPtr)APIS.VirtualAllocEx(hProcess, (IntPtr)null, (uint)LenWrite, 0x1000, 0x40);
  6.            APIS.WriteProcessMemory(hProcess, AllocMem, strDLLName, (UIntPtr)LenWrite, out bytesout);
  7.            UIntPtr Injector = (UIntPtr)APIS.GetProcAddress(APIS.GetModuleHandle("kernel32.dll"), "LoadLibraryA");
  8.  
  9.            if (Injector == null)
  10.            {
  11.                 // Agreguen aqui un messagebox o lo que deseen para mostrar el error :P.
  12.                return;
  13.            }
  14.  
  15.            IntPtr hThread = (IntPtr)APIS.CreateRemoteThread(hProcess, (IntPtr)null, 0, Injector, AllocMem, 0, out bytesout);
  16.  
  17.            if (hThread == null)
  18.            {
  19.                 // Agreguen aqui un messagebox o lo que deseen para mostrar el error :P.
  20.                return;
  21.            }
  22.  
  23.            int Result = APIS.WaitForSingleObject(hThread, 10 * 1000);
  24.            if (Result == 0x00000080L || Result == 0x00000102L || Result == 0xFFFFFFF)
  25.            {
  26.                 // Agreguen aqui un messagebox o lo que deseen para mostrar el error :P.
  27.  
  28.                if (hThread != null)
  29.                {
  30.                    APIS.CloseHandle(hThread);
  31.                }
  32.                return;
  33.            }
  34.  
  35.            Thread.Sleep(1000);
  36.            APIS.VirtualFreeEx(hProcess, AllocMem, (UIntPtr)0, 0x8000);
  37.  
  38.            if (hThread != null)
  39.            {
  40.                APIS.CloseHandle(hThread);
  41.            }
  42.  
  43.            return;
  44.        }

Codigo clase APIS:

Código
  1.        private struct APIS
  2.        {
  3.            [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
  4.            public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, UIntPtr dwSize, uint dwFreeType);
  5.  
  6.            [DllImport("kernel32.dll", CharSet = CharSet.Ansi, ExactSpelling = true)]
  7.            public static extern UIntPtr GetProcAddress(IntPtr hModule, string procName);
  8.  
  9.            [DllImport("kernel32.dll")]
  10.            public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, string lpBuffer, UIntPtr nSize, out IntPtr lpNumberOfBytesWritten);
  11.  
  12.            [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
  13.            public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
  14.  
  15.            [DllImport("kernel32", SetLastError = true, ExactSpelling = true)]
  16.            public static extern Int32 WaitForSingleObject(IntPtr handle, Int32 milliseconds);
  17.  
  18.            [DllImport("kernel32")]
  19.            public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, UIntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId);
  20.  
  21.            [DllImport("kernel32.dll")]
  22.            public static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Int32 bInheritHandle, Int32 dwProcessId);
  23.  
  24.            [DllImport("kernel32.dll")]
  25.            public static extern Int32 CloseHandle(IntPtr hObject);
  26.  
  27.            [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  28.            public static extern IntPtr GetModuleHandle(string lpModuleName);
  29.        }

Bien, ahora en using:

Código
  1. using System;
  2. using System.IO;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Drawing;
  7. using System.Threading;
  8. using System.Diagnostics;
  9. using System.Windows.Forms;
  10. using System.ComponentModel;
  11. using System.Collections.Generic;
  12. using System.Runtime.InteropServices;

Codigo para los procesos :P:

Código
  1.        private Int32 GetProcessID(String proc)
  2.        {
  3.            Process[] ProcList;
  4.            ProcList = Process.GetProcessesByName(proc);
  5.            return ProcList[0].Id;
  6.        }

Ahora Inyectemos la dll :xD:

Código
  1.        private void button1_Click(object sender, EventArgs e)
  2.        {
  3.  
  4.         string DllStrng = "C:\\Ladll.Dll";
  5.  
  6.         Int32 ProcID = GetProcessID("Explorer"); //Coloquen aqui el nombre del proceso :P sin la extensión ".exe".
  7.            if (ProcID >= 0)
  8.            {
  9.                IntPtr hProcess = (IntPtr)APIS.OpenProcess(0x1F0FFF, 1, ProcID);
  10.                if (hProcess == null)
  11.                {
  12.                 // Agreguen aqui un messagebox o lo que deseen para mostrar el error :P.
  13.                    return;
  14.                }
  15.                else
  16.                {
  17.                    InjectDLL(hProcess, DllStrng);
  18.                }
  19.            }
  20.        }

Listo! xD. como ven este codigo no puede inyectar dlls en procesos como svchost.exe pues necesita permisos (algo que no se hacer), me imagino que se hace con AdjustTokenPrivileges o algo parecido en fin si quieren permisos agreguenselo uds y si pueden muestrenlo aqui para ayudar a los demas :rolleyes:.

yo actualmente ando estudiando Kernel Module, para asi poder hacer fiesta con los procesos xD.

en fin disfrutenlo, hasta pronto!

Creditos: WhatsHappen?

:xD!
3  Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion dll: [ Delphi ] - [ C++ ] - [ VB ] - [ Masm32 ] - [ C# ??? ] en: 3 Octubre 2009, 01:57 am
Listo!, lo logre :P, en mi siguiente post posteare el code tal vez sea de utilidad para muchos  :P.
4  Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion dll: [ Delphi ] - [ C++ ] - [ VB ] - [ Masm32 ] - [ C# ??? ] en: 18 Septiembre 2009, 07:31 am
Ops! error, pInvoke.net VS 2003-2005, yo uso 2008  :huh:
5  Programación / .NET (C#, VB.NET, ASP) / Inyeccion dll: [ Delphi ] - [ C++ ] - [ VB ] - [ Masm32 ] - [ C# ??? ] en: 18 Septiembre 2009, 01:23 am
En VB:

Código
  1. Private Const PAGE_READWRITE As Long = &H4
  2. Private Const MEM_RELEASE As Long = &H8000
  3. Private Const MEM_COMMIT As Long = &H1000
  4. Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
  5. Private Const SYNCHRONIZE As Long = &H100000
  6. Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
  7. Private Const INFINITE As Long = &HFFFFFF
  8.  
  9. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  10. Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
  11. Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
  12. Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
  13. Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
  14. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  15. Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
  16. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  17.  
  18.  
  19. Public Function Inyecta(RutaDll As String, Pid As Long) As Integer
  20. Dim proc As Long
  21. Dim nload As Long
  22. Dim rems As Long
  23. Dim longi As Long
  24. Dim RemThread As Long
  25. Dim Tid As Long
  26.  
  27. On Error GoTo Error
  28. proc = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
  29. nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
  30. rems = VirtualAllocEx(proc, 0, Len(RutaDll), MEM_COMMIT, PAGE_READWRITE)
  31. WriteProcessMemory proc, ByVal rems, ByVal RutaDll, Len(RutaDll), longi
  32. CreateRemoteThread proc, ByVal 0, 0, ByVal nload, ByVal rems, 0, Tid
  33. WaitForSingleObject rems, INFINITE
  34. CloseHandle proc
  35. CloseHandle rems
  36. Inyecta = 0
  37. Exit Function
  38. Error:
  39. Inyecta = 1
  40. End Function
  41.  
  42. '----------------------------------------------------------------------------------'
  43.  
  44. Private Sub Form_Load()
  45. Dim ruta As Long
  46. Dim resultado As Integer
  47.  
  48. ruta = Shell("notepad.exe")
  49. resultado = Inyecta("C:\ladll.dll", ruta)
  50.  
  51. If resultado = 0 Then
  52. MsgBox "Dll Inyectada con éxito!!!", , "Información"
  53. Else
  54. MsgBox "A ocurrido un error", vbCritical, "Información"
  55. End If
  56. End
  57. End Sub

 :o

En Delphi:

Código
  1. Procedure InjectDll(Dll:string);
  2. var
  3.   Thread,HandleWindow: THandle;
  4.   DMod,Lib: Pointer;
  5.   ThreadID,Written: Cardinal;
  6.   WindowName,ProcessId: DWORD;
  7. begin
  8.   WindowName := FindWindow(nil, 'Tester');
  9.   ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId);
  10.   HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
  11.   Lib := GetProcAddress(GetModuleHandle(PChar('kernel32.dll')), PChar('LoadLibraryA'));
  12.   DMod := VirtualAllocEx(HandleWindow, nil, Length(Dll) + 1, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
  13.   if WriteProcessMemory(HandleWindow, DMod, @Dll[1>, Length(Dll), Written) then
  14.   Thread := CreateRemoteThread(HandleWindow, nil, 0, Lib, DMod, 0, ThreadID);
  15.   WaitForSingleObject(Thread, INFINITE);
  16.   CloseHandle(HandleWindow);
  17.   CloseHandle(Thread);
  18. end;

 :o

En Masm:

Código
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4. include \masm32\include\windows.inc
  5. include \masm32\include\kernel32.inc
  6. includelib \masm32\lib\kernel32.lib
  7.  
  8. .const
  9. ID_proceso EQU 2964   ;La ID del proceso q sea
  10.  
  11. .data
  12. Kernel32 db "kernel32.dll", 0
  13. LoadLibrary_nombre db "LoadLibraryA", 0
  14. DLL db "C:\DLL.dll", 0
  15.  
  16. .data?
  17. Proceso_ID DWORD ?
  18. Proceso_handle DWORD ?
  19. Kernel32_offset DWORD ?
  20. LoadLibrary_offset DWORD ?
  21. String DWORD ?
  22. Proceso PROCESSENTRY32 <?>
  23.  
  24. .code
  25. Start:
  26. invoke GetModuleHandle, addr Kernel32
  27. mov Kernel32_offset, eax
  28. invoke GetProcAddress, Kernel32_offset, addr LoadLibrary_nombre
  29. mov LoadLibrary_offset, eax
  30.  
  31. mov Proceso.dwSize, 296
  32. invoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, ID_proceso
  33. mov Proceso_handle, eax
  34. invoke VirtualAllocEx, Proceso_handle, NULL, 64, MEM_COMMIT + MEM_RESERVE, PAGE_READWRITE
  35. mov String, eax
  36. invoke WriteProcessMemory, Proceso_handle, String, addr DLL, 64, NULL
  37. invoke CreateRemoteThread, Proceso_handle, NULL, NULL, LoadLibrary_offset, String, NULL, NULL
  38. invoke CloseHandle, Proceso_handle
  39. invoke ExitProcess, 0
  40. End Start

En C++ [Sin Dll :-X]:

Código
  1. #include <windows.h>
  2. #include <tlhelp32.h>
  3. #include <stdio.h>
  4.  
  5. typedef int (WINAPI *datMessageBoxA) (HWND, LPCTSTR, LPCTSTR, UINT);
  6.  
  7. struct datos
  8. {
  9. datMessageBoxA apiMessageBoxA;
  10. char titulo [20];
  11. char mensaje [20];
  12. };
  13.  
  14.  
  15. DWORD GetAdres(char *module, char *function);
  16.  
  17. DWORD inyectada (datos *data)
  18. {
  19. data -> apiMessageBoxA (0, data->mensaje, data->titulo, 0);
  20. return 0;
  21. }
  22.  
  23. void inyectora()
  24. {
  25. int pid;
  26. HANDLE proc;
  27. datos dat;
  28. DWORD TamFun;
  29. void* esp;
  30.  
  31. HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  32. PROCESSENTRY32 procinfo = { sizeof(PROCESSENTRY32) };
  33. while(Process32Next(handle, &procinfo))
  34. {
  35. if(!strcmp(procinfo.szExeFile, "notepad.exe"))
  36. {
  37. CloseHandle(handle);
  38. pid = procinfo.th32ProcessID;
  39. }
  40. }
  41. CloseHandle(handle);
  42.  
  43. proc = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, false, pid);
  44.  
  45. dat.apiMessageBoxA = (datMessageBoxA) GetAdres ("USER32.DLL", "MessageBoxA");
  46.  
  47. sprintf(dat.mensaje,"holaaaaaa!!!");
  48. sprintf(dat.titulo,"titulo!!!");
  49.  
  50.  
  51. datos *dat_ = (datos*) VirtualAllocEx(proc, 0, sizeof(datos), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
  52. WriteProcessMemory(proc, dat_, &dat, sizeof(datos), NULL);
  53.  
  54. TamFun = (long unsigned int) inyectora - (long unsigned int)inyectada;
  55.  
  56. esp = VirtualAllocEx(proc, 0, TamFun, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
  57. WriteProcessMemory(proc, esp, (void*)inyectada, TamFun, NULL);
  58. CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE) esp, dat_, 0, NULL);
  59. }
  60.  
  61. void main()
  62. {
  63. inyectora();
  64. }
  65.  
  66. DWORD GetAdres(char *module, char *function)
  67. {
  68. HMODULE dh = LoadLibrary(module);
  69. DWORD pf = (DWORD)GetProcAddress(dh,function);
  70. FreeLibrary(dh);
  71. return pf;
  72. }

Wowww! en todos los lenguajes que se pueden no :P?

Pero y en C#  :-\?

Alguien tiene alguno  :xD?

Hasta luego :P.
6  Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion dll sin dll, by E0N. Problema: Edicion de Memoria. [Convertir a C#] en: 16 Septiembre 2009, 19:19 pm
sorry por el doble post xD...

haha :P como a cheat engine, a ustedes tambien les quedo grande xD (a que ahora si responden xDD!)

;)

7  Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion dll sin dll, by E0N. Problema: Edicion de Memoria. [Convertir a C#] en: 16 Septiembre 2009, 01:45 am
Dicen que la paciencia es una virtud, pues no la tengo  :-\.

Alguien enserio podría ayudarme???, hasta luego  :-(
8  Programación / .NET (C#, VB.NET, ASP) / Inyeccion dll sin dll, by E0N. Problema: Edicion de Memoria. [Convertir a C#] en: 13 Septiembre 2009, 18:43 pm
Bien, ya muchos han de haber visto el código de E0N, el de inyección DLL sin DLL que bueno es no?  ;D.

Aquí un ejemplo del mismo :P.

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

//Creamos un puntero a la api que queremos inyectar
typedef int (WINAPI *datMessageBoxA) (HWND, LPCTSTR, LPCTSTR, UINT);

//La estructura que inyectaremos
struct datos
{
datMessageBoxA apiMessageBoxA;
char titulo [100];
char mensaje [100];
};


//Declaración de funciones
DWORD GetAdres(char *module, char *function);

//La función que inyectaremos
DWORD inyectada (datos *data)
{
data -> apiMessageBoxA (0, data->mensaje, data->titulo, 0);
return 0;
}

//La función iyectora
void inyectora()
{
int pid; // Este es el pid del proceso en el que nos queremos inyectar
HANDLE proc; // El handle del proceso en el que inyectaremos
datos dat; // El tipo de dato de la estructura
DWORD TamFun; // El tamaño de la función a inyectar
void* esp; // Lugar de memoria donde copiaremos nuestra función

HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //Obtenemos el pid
PROCESSENTRY32 procinfo = { sizeof(PROCESSENTRY32) };
while(Process32Next(handle, &procinfo))
{
if(!strcmp(procinfo.szExeFile, "AVKTray.exe"))
{
CloseHandle(handle);
pid = procinfo.th32ProcessID;
}
}
CloseHandle(handle);

//Abrimos el proceso en el que nos inyectaremos

proc = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, false, pid);

//Metemos la dirección de la api en la estructura llamndo a la función GetAdres
dat.apiMessageBoxA = (datMessageBoxA) GetAdres ("USER32.DLL", "MessageBoxA");

//Inicializamos las variables que contendrán el mensaje
sprintf(dat.mensaje,"holaaaaaa!!!");
sprintf(dat.titulo,"titulo!!!");


//Reservamos espacio para nuestra estructura en el proceso a inyectar y la escribimos
datos *dat_ = (datos*) VirtualAllocEx(proc, 0, sizeof(datos), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(proc, dat_, &dat, sizeof(datos), NULL);

//Calculamos el tamaño de la función a inyectar
TamFun = (long unsigned int) inyectora - (long unsigned int)inyectada;

//Reservamos espacio para la función, escribimos en él y creamos un hilo
esp = VirtualAllocEx(proc, 0, TamFun, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(proc, esp, (void*)inyectada, TamFun, NULL);
CreateRemoteThread(proc, NULL, 0, (LPTHREAD_START_ROUTINE) esp, dat_, 0, NULL);
}

//La función main
void main()
{
inyectora();
}


//Función que nos devuelve un DWORD con la dirección de una api
DWORD GetAdres(char *module, char *function)
{
HMODULE dh = LoadLibrary(module);
DWORD pf = (DWORD)GetProcAddress(dh,function);
FreeLibrary(dh);
return pf;
}

Bien, ese código inyecta un msgbox hasta donde logre ver y probar, lo inyecta en procesos protegidos! como el hl.exe que tiene su protección "sXe Injected", bueno la pregunta mía es:

¿Ya que se puede inyectar un MsgBox, se podría inyectar un código que no solo muestre un mensaje sino que cambie un valor X en una dirección X en su memoria?

Sera esto posible?

Pues las palabras de E0N Fueron:

Citar
De todas formas si te permite mostrar el MessageBox, quiere decir que has podido usar un montón de apis "peligrosas" como WriteProcessMemory, CreateRemoteThread o VirtualAllocEx, con lo que facilmente podrías inyectarle una dll (por facilitar la tarea) y retocar ciertos valores en memoria para hacer trampas.

Según el debí haber ido a cheatengine.org los cuales son Cheaters profesionales, he ido pero como que les ha quedado grande el codigote de E0N, alguien aquí presente sabría cómo hacer ello?.

He aquí una demostración de una DLL en Delphi, que cambiaba valores en la memoria del proceso donde se inyectó:

Código:
library DllProyect;

uses
  SysUtils,  Windows,  Classes,  DllForm in 'Dll.pas' {DllForm};

{$R *.res}
var
  hProcess:THandle;
  hId:Cardinal;

procedure funcStartCheating;
  begin;
    MainForm:=TMainForm.Create(nil);
    MainForm.ShowModal;
  end;
begin
  hProcess:=OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID);
  CreateRemoteThread(hProcess,nil,0,@funcStartCheating,@funcStartCheating,0,hID);
end.

Bien ese es el código de la DLL, la cual me permite mostrar un Formulario para hacerme más fácil el trabajo de edición de memoria, he aquí el código de edición de memoria:

Código:
var
  MainForm: TMainForm;
  Memory: DWORD;
  j: integer;
  ZeroBytes: Array of Byte;

procedure TMainForm.Timer1Timer(Sender: TObject);
var
number: byte;
character: char;
j: integer;
Addresspointer: Dword;
begin

if Checkbox1.Checked=True then
begin
    Addresspointer:= PDWORD($0087A35C)^+$93;
    PBYTE(Addresspointer)^:=0;
end;

if Checkbox5.Checked=True then
begin
    CopyMemory(ptr(PDWORD($004023c1)^+$1),@ZeroBytes,8);
end;

if checkbox12.Checked = true then
  begin;
  PBYTE($00928D1E)^:=0;
end;

if checkbox10.Checked = true then
begin;
    CopyMemory(ptr($00010701),@ZeroBytes,10);
end;
end;

end.

Bien eso cambia el valor de la direccion X con el Valor X para lograr hacer trampas :P, ahora mi duda  es:

¿Cómo se hace ello con el codigo de Inyección DLL sin DLL?
¿Cómo integro tal codigo dentro de ese inyector?
¿Es posible?.

Según E0N si.
Espero alguien sepa de que estoy hablando y me pueda ayudar, sin mas que decir me despido con un tipico "Gracias de antemano" aunque no logren ayudarme un gracias nunca esta demas :P.

pd: me falto una pregunta Y la más importante:

¿SE PUEDE CAMBIAR ESTE CODIGO A C# 2008?

Hasta Luego!.
9  Programación / .NET (C#, VB.NET, ASP) / Re: [C#] Buscar archivo ".exe" desde mi form y mostrarlo en un combobox? en: 4 Septiembre 2009, 20:36 pm
Simple, primero importa las clases de System.IO para tener acceso a las clases DirectoryInfo que es la principal que te de devuelve una lista de todos los archivos dentro de una carpeta especifica


Código
  1. using System.IO;
  2. //....................
  3. DirectoryInfo dir = New DirectoryInfo("C:\");
  4. foreach (Fileinfo aplicacion in dir.GetFiles("*.exe")) {
  5.    ComboBox1.Items.Add(aplicacion.Name);
  6. }


Ten en cuenta que eso solo te devuelve los ejecutables de "C:\", no de cualquier subcarpeta jejeje......bueno...espero que te sirva!!!

Eh Gracias, segun lo que me diste y lo que busque en MDSN pude lograr lo siguiente:

Código:
foreach (string sArc in Directory.GetFiles("C:\\", "*.exe", SearchOption.AllDirectories))
{               
        comboBox1.Items.Add(Path.GetFileName(sArc));
}


Con ello puedo buscar todos los ".exe" que esten en el directorio "C:\\", si que sirve la MDSN  :).

Saludos y gracias.
10  Programación / .NET (C#, VB.NET, ASP) / [C#] Buscar archivo ".exe" desde mi form y mostrarlo en un combobox? en: 4 Septiembre 2009, 08:16 am
Hola, espero no molestar traigo una duda como el tema lo dice espero puedan ayudarme, a continuación se las hago presente.

Estoy en el proceso de crear una aplicación que busque ciertos archivos con extensiones “.exe”, para luego que los encuentre los muestre en un “Combobox” y así poder realizar la función deseada. Lo que deseo saber es:

¿Cómo busco en el disco local C: los archivos con ese nombre?, y luego de encontrarlos los mostrara en un “combobox”, daremos un ejemplo “Photoshop.exe”, claro será otro nombre el cual no deseo decir por derechos de autor por decir así.

Simple, sé que es de novatos pero no logro nada; estoy trabajando con C# 2008, y no encuentro nada para poder hacer tal búsqueda, alguien tiene idea de cómo hacerla?. :huh:

Gracias por adelantado a quien esté dispuesto a ayudarme, espero no molestar y no hacerles perder tiempo.

PD: Ya he buscado lo suficiente en la web “MDSN” y hasta donde logrè hacer algo, no me sirvió.  :-\
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines