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


 


Tema destacado: [AIO elhacker.NET 2015] Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: [1]
1  Programación / Ingeniería Inversa / Crackme de Zero en: 3 Diciembre 2012, 23:40
Hace unas semanas a zero le dio por aprender haskell e hizo un crackme. y como ninguno supimos resolverlo os lo coloco aqui.
post original
Cita de: Zero en Noviembre 13, 2012, 11:10:02 pm
Bueno, hoy estuve leyendo sobre Haskell y me pareció interesante, así que quise compilar algo para ver que pinta tenía bajo Olly . El programa pide usuario y contraseña, así que podéis postear las soluciones los que lo resolváis.

Saludos!

A ver cuanto tarda la gente de aqui en resolverlo

Saludos
2  Seguridad Informática / Bugs y Exploits / Crackme Zero en: 1 Diciembre 2012, 15:56
Hace unas semanas a zero le dio por aprender haskell e hizo un crackme. y como ninguno supimos resolverlo hos lo coloco aqui.
post original
Cita de: Zero en Noviembre 13, 2012, 11:10:02 pm
Bueno, hoy estuve leyendo sobre Haskell y me pareció interesante, así que quise compilar algo para ver que pinta tenía bajo Olly . El programa pide usuario y contraseña, así que podéis postear las soluciones los que lo resolváis.

Saludos!

A ver cuanto tarda la gente de aqui en resolverlo

Saludos
3  Programación / Programación C/C++ / RSA c en: 16 Abril 2010, 19:23
escribo este pos para ver si por un casual alguien tuviera el algoritmo RSA en c/c++ pero con claves grandes.

Gracias de antemano
4  Programación / Ingeniería Inversa / desenpaketar driver en: 4 Abril 2009, 15:14
estoy  intentando hacer una aplicación que neutralice el deep freze. y para ello había pensado en husmear un poco al undeep freze la cosa en que viene empaquetado con el aspack y como tiene un driver dentro los unpaker me dicen que no o se quedan pillados.

Saludos
5  Programación / Programación C/C++ / ayuda con expresion en: 29 Marzo 2009, 18:18
ola me podria ayudar a traducir esta linea a una expresion mas legible.

gracias de antemano.

Código
  1. NameInfo = ((POBJECT_HEADER_NAME_INFO) ((ObjectHeader)->NameInfoOffset == 0 ? ((void *)0) : ((PCHAR)(ObjectHeader) - (ObjectHeader)->NameInfoOffset)));
  2.  
6  Programación / Programación C/C++ / me ayudan con esto en: 25 Febrero 2009, 20:47
hola, estoy intentando hacer un driver pero no consigo hacer funcionar la conexion entre Modo Kernel y Modo Usuario. no encuentro cual es mi error y ya he mirado muchos manuales sobre eso pero no consigo que funcione en la VM


El driver:
Código
  1.  
  2. #include <ntddk.h>
  3. NTSTATUS STDCALL DriverDispatch(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp);
  4. WCHAR nameDev[] = L"\\Device\\KavKiller0";
  5. WCHAR* SLink = L"\\Device\\LKavKiller0";
  6. PDEVICE_OBJECT PDeviceObject = NULL;
  7. PDRIVER_DISPATCH *MJ_Fun = NULL;
  8.  
  9. UNICODE_STRING dev, lik;
  10. NTSTATUS status;
  11.  
  12. NTSTATUS ControlChanel (PDRIVER_OBJECT , PIRP );
  13. NTSTATUS CreateChanel (PDEVICE_OBJECT,PIRP);
  14. NTSTATUS CloseChanel (PDEVICE_OBJECT,PIRP);
  15. VOID
  16. STDCALL
  17. DriverUnload(IN PDRIVER_OBJECT DriverObject)
  18. {
  19. IoDeleteSymbolicLink(&lik);
  20.  
  21. IoDeleteDevice(PDeviceObject);
  22.  
  23.    DbgPrint("Adios Asesino de Kav\n");
  24.    return;
  25. }
  26.  
  27. NTSTATUS
  28. STDCALL
  29. DriverEntry(IN PDRIVER_OBJECT DriverObject,
  30.            IN PUNICODE_STRING RegistryPath)
  31. {
  32.    DriverObject->DriverUnload = DriverUnload;
  33. MJ_Fun = DriverObject->MajorFunction;
  34.  
  35. MJ_Fun[IRP_MJ_CREATE] = (PDRIVER_DISPATCH)CreateChanel;
  36.    MJ_Fun[IRP_MJ_DEVICE_CONTROL] = (PDRIVER_DISPATCH)ControlChanel;
  37.    MJ_Fun[IRP_MJ_CLOSE] = (PDRIVER_DISPATCH)CloseChanel;
  38.  
  39.    DbgPrint("Inicializando KavKiller\n");
  40.  
  41.    RtlInitUnicodeString(&dev,nameDev);
  42.    RtlInitUnicodeString(&lik,SLink);
  43. status = IoCreateDevice(DriverObject,0,&dev,FILE_DEVICE_UNKNOWN,0,0,&PDeviceObject);
  44. if(status==STATUS_SUCCESS)
  45. {
  46. status = IoCreateSymbolicLink(&lik,&dev);
  47. if(status==STATUS_SUCCESS){
  48.  
  49. }else{
  50. IoDeleteDevice(PDeviceObject);
  51. DbgPrint("error al cargar el link\n");
  52. };
  53. }else{
  54. DbgPrint("Error IoCreateDevice\n");
  55. };
  56. switch(status){
  57. case STATUS_SUCCESS:
  58. DbgPrint("Cragado con exito\n");
  59. break;
  60. case STATUS_OBJECT_PATH_NOT_FOUND:
  61. DbgPrint("OBJECT_PATH_NOT_FOUND\r\n");
  62. break;
  63. case STATUS_OBJECT_NAME_INVALID:
  64. DbgPrint("STATUS_OBJECT_NAME_INVALID");
  65. break;
  66. case STATUS_OBJECT_NAME_EXISTS :
  67. DbgPrint("El nombre del Objeto ya existe\n");
  68. break;
  69. case STATUS_INSUFFICIENT_RESOURCES :
  70. DbgPrint("Recursos insuficientes\n");
  71. break;
  72. case  STATUS_OBJECT_NAME_COLLISION :
  73. DbgPrint("Colision en el nombre del Objeto\n");
  74. break;
  75. case STATUS_INVALID_PARAMETER :
  76. DbgPrint("Argumentos invalidos\n");
  77. break;
  78. default :
  79.  
  80. DbgPrint("Error desconocido :%i\n",status);
  81. };
  82. DbgPrint("Fin de inicializacion");
  83.  
  84.  
  85.    return status;
  86. }
  87.  
  88. NTSTATUS CloseChanel (PDEVICE_OBJECT DeviceObject,PIRP Irp) {
  89.  
  90. DbgPrint("Canal abierto");
  91.  
  92. Irp->IoStatus.Status = STATUS_SUCCESS;
  93. IoCompleteRequest(Irp, IO_NO_INCREMENT);
  94.  
  95.  return  STATUS_SUCCESS;
  96. }
  97.  
  98. NTSTATUS CreateChanel (PDEVICE_OBJECT DeviceObject,PIRP Irp) {
  99.  
  100. DbgPrint("Canal abierto");
  101.  
  102. Irp->IoStatus.Status = STATUS_SUCCESS;
  103. IoCompleteRequest(Irp, IO_NO_INCREMENT);
  104.  
  105.  return  STATUS_SUCCESS;
  106. }
  107.  
  108. NTSTATUS ControlChanel (PDRIVER_OBJECT DriverObject, PIRP irp){
  109.  
  110. PIO_STACK_LOCATION pila;
  111. NTSTATUS s;
  112. char *IBufert;
  113. char *OBufert;
  114. char *MSG = "Hola Soy el KAV Killer desde el Kernel";
  115. unsigned int tamano = sizeof(MSG);
  116.  
  117. pila = IoGetCurrentIrpStackLocation(irp);
  118.  
  119. switch (pila->Parameters.DeviceIoControl.IoControlCode){
  120. case 1:
  121. IBufert = OBufert = irp->AssociatedIrp.SystemBuffer;
  122. if(IBufert && OBufert)
  123. {
  124. if(pila->Parameters.DeviceIoControl.OutputBufferLength)
  125. {
  126. if(pila->Parameters.DeviceIoControl.InputBufferLength)
  127. {
  128. RtlCopyMemory(OBufert,MSG,tamano);
  129.  
  130. irp->IoStatus.Information = tamano;
  131.  
  132. irp->IoStatus.Status = STATUS_SUCCESS;
  133. IoCompleteRequest(irp, IO_NO_INCREMENT);
  134. s = STATUS_SUCCESS;
  135. };
  136. };
  137. };
  138. break;
  139. };
  140. irp->IoStatus.Status = STATUS_SUCCESS;
  141. IoCompleteRequest(irp, IO_NO_INCREMENT);
  142. return s;
  143.  
  144. };
  145.  

El loader:

Código
  1. #include <iostream>
  2. #include "LoadDrv.h"
  3.  
  4. int GetAdressKernel(void);
  5. void* GetFunc(int, char*);
  6. bool cmpsrt(char*,char*);
  7. int len(char*);
  8.  
  9.  
  10. char* SysDryvers = "c:\\windows\\system32\\drivers\\KillKav.sys";
  11. char* Driver     = ".\\KillKav.sys";
  12. char* NServce    = "KillKav";
  13. char* nula       = "";
  14. int HServisMgr;
  15.  
  16. int  __stdcall (* LoadLibrary)(char*);
  17. void* __stdcall(* GetProcAddress)(int,char*);
  18. bool  __stdcall(*CopyFile)(char*,char*,bool);
  19. int  __stdcall (*OpenSCManager)(char*,char*,int);
  20. int  __stdcall (*OpenService)(int,char*,int);
  21. int  __stdcall (*CreateService)(int,char*,char*,int,int,int,int,char*,char*,int*,char*,char*,char*);
  22. bool __stdcall (*DeleteService)(int);
  23. bool __stdcall (*StartService)(int,int,char*);
  24. int  __stdcall (*CreateFile)(WCHAR*,int,int,int,int,int,int);
  25. bool __stdcall (*DeviceIoControl)(int,int,void*,int,void*,int,int,void*);
  26. int __stdcall (*GetLastError)(void);
  27. int  loadDriver(char*);
  28.  
  29. using namespace std;
  30.  
  31. int main()
  32. {
  33. int killer;
  34. int Service;
  35. bool estatus;
  36. _UNICODE_STRING KavKiller;
  37. int NTdll;
  38. int Advapi32;
  39. //Cargando Dlls
  40. int kernel = GetAdressKernel();
  41. GetProcAddress = (void* __stdcall (*)(int,char*))GetFunc(kernel,"GetProcAddress");
  42. LoadLibrary = (int __stdcall (*)(char*))GetFunc(kernel,"LoadLibraryA");
  43. Advapi32 = LoadLibrary("Advapi32.dll");
  44.  
  45. //Cargando Funciones
  46. //Advapi32
  47. OpenSCManager = (int __stdcall (*)(char*,char*,int))GetProcAddress(Advapi32,"OpenSCManagerA");
  48. CreateService = (int __stdcall (*)(int,char*,char*,int,int,int,int,char*,char*,int*,char*,char*,char*))GetProcAddress(Advapi32,"CreateServiceA");
  49. DeleteService = (bool __stdcall (*)(int))GetProcAddress(Advapi32,"DeleteService");
  50. OpenService = (int __stdcall (*)(int,char*,int))GetProcAddress(Advapi32,"OpenServiceA");
  51. StartService =  (bool __stdcall (*)(int,int,char*))GetProcAddress(Advapi32,"StartServiceA");
  52. //Kernel32
  53. CreateFile = (int  __stdcall (*)(WCHAR*,int,int,int,int,int,int))GetProcAddress(kernel,"CreateFileW");
  54. CopyFile = (bool __stdcall (*)(char*,char*,bool))GetProcAddress(kernel,"CopyFileA");
  55. DeviceIoControl = (bool __stdcall (*)(int,int,void*,int,void*,int,int,void*))GetProcAddress(kernel,"DeviceIoControl");
  56. GetLastError = (int  __stdcall (*)(void))GetProcAddress(kernel,"GetLastError");
  57.  
  58.  
  59. if (CopyFile(Driver,SysDryvers,false)!= 0){
  60. Service = loadDriver(SysDryvers);
  61. if(Service!=0){
  62. killer = CreateFile(L"\\\\.\\Device\\LKavKiller0",GENERIC_READ | GENERIC_WRITE ,FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);
  63.  
  64. if((killer != 0)&&(killer != -1)){
  65. int returned;
  66. cout<<"conectado.....\n";
  67. char OMsg[100];
  68. char IMsg[100];
  69. if((estatus = DeviceIoControl(killer,1,&OMsg,100,&IMsg,100,returned,0))==true){
  70.  
  71. printf("Recibidos desde el Kernel %i Bytes... Escribiendo lo recibido...\n %s; %s \n",returned,OMsg,IMsg);
  72.  
  73. }else{
  74. cout<<"Fallo en la trasmision\n";
  75.  
  76.  
  77. };
  78.  
  79. }else{
  80. cout<<"error al abrir: Create file\n";
  81. };
  82. }else{
  83. cout<<"error al cargar el driver\n";
  84. };
  85. }else{
  86. cout<<"Acceso Denegado o No se encuentra el driver\n";
  87. };
  88.  
  89.  
  90. system("pause");
  91.  
  92.    return 0;
  93. }
  94.  
  95. int loadDriver(char* StrRutaDriver){
  96. static int HService = 0;
  97. bool On = 0;
  98.  
  99. HServisMgr = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
  100. if(HServisMgr!= 0){
  101. HService = CreateService(HServisMgr,NServce,NServce,SC_MANAGER_ALL_ACCESS,SERVICE_KERNEL_DRIVER,SERVICE_SYSTEM_START,SERVICE_ERROR_NORMAL,StrRutaDriver,null,null,null,null,null);
  102. if(HService == 0){
  103. HService = OpenService(HServisMgr,NServce,SC_MANAGER_ALL_ACCESS);
  104.  
  105. };
  106. int error;
  107. On = StartService(HService,0,nula);
  108. if(On==0){
  109. error = GetLastError();
  110. if(error != ERROR_SERVICE_ALREADY_RUNNING){
  111.  
  112. DeleteService(HService);
  113. cout<<"No se pudo iniciar el Driver\n";
  114. HService = 0;
  115. };
  116. };
  117.  
  118. }else{
  119. cout<<"Error al Abrir el Gestor de Servicios\n";
  120. };
  121.  
  122. return HService;
  123. };
  124.  
  125. bool UbLaodDriver(){
  126. };
  127.  
  128. int GetAdressKernel(void)
  129. {
  130.    __asm__ __volatile__(
  131.    "pushl %ebx\n\t"
  132.    "pushl %edx\n\t"
  133.  
  134.    "movl %ss:(%ebp),%eax\n\t"
  135.    "movl %ss:(%eax), %eax\n\t"
  136.    "movl %ss:(%eax), %eax\n\t"
  137.    "movl %ss:4(%eax),%edx\n\t"
  138.  
  139.  
  140. "xorl %ebx, %ebx\n\t"
  141. "andl $0xffff0000, %edx\n\t"
  142. "repite:\n\t"
  143. "subl $0x10000, %edx\n\t"
  144. "cmpw $0x5a4d, (%edx)\n\t"
  145. "je base\n\t"
  146. "cmpw $0x4d5a, (%edx)\n\t"
  147. "je base\n\t"
  148. "jmp repite\n\t"
  149. "base:\n\t"
  150. "movl %edx,%eax\n\t"
  151.  
  152. "popl %edx\n\t"
  153. "popl %ebx\n\t"
  154. );
  155.  
  156. }
  157. ;
  158. void* GetFunc(int, char*)
  159. {
  160. __asm__ __volatile__(
  161. "pushl %edx\n\t"
  162. "                        pushl %ecx\n\t"
  163. "                        pushl %esi\n\t"
  164. "                        pushl %edi\n\t"
  165.  
  166.  
  167. "                        movl 8(%ebp), %edx\n\t"    /*Encontrar funcion pedida en la dll especificada*/
  168. "                        cmpw $0x5a4d, (%edx)\n\t"
  169. "                        je MZ\n\t"
  170. "                        cmpw $0x4d5a, (%edx)\n\t"
  171. "                        je MZ\n\t"
  172. "NoPE:\n\t"
  173. "                        xorl %eax, %eax\n\t"
  174. "                        jmp NoEncontre\n\t"
  175. "MZ:\n\t"
  176. "                        xorl %ecx, %ecx\n\t"
  177. "                        addl 0x3c(%edx), %edx\n\t"
  178. "                        cmpw $0x4550, (%edx)\n\t"
  179. "                        jne NoPE\n\t"                           //Cabecera PE
  180. "                        movl 0x78(%edx), %edx\n\t"
  181.  
  182.                        //Tabla de Exportaciones
  183. "                        addl 8(%ebp), %edx\n\t"
  184. "                        movl 0x20(%edx), %edi\n\t"               //AddressOfNames
  185. "                        addl 8(%ebp), %edi\n\t"
  186. "                        jmp busca\n\t"
  187. "NoEs:\n\t"
  188. "                        cmpl $0x4C3, %ecx\n\t"
  189. "                        je NoEncontre\n\t"
  190. "                        incl %ecx\n\t"
  191. "                        addl $4, %edi\n\t"
  192. "busca:\n\t"
  193. "                        movl (%edi), %esi\n\t"
  194. "                        addl 8(%ebp), %esi\n\t"
  195. "                        pushl %esi\n\t"
  196. "                        pushl 12(%ebp)\n\t"
  197. "                        call __Z6cmpsrtPcS_\n\t"
  198. "                        cmpl $0, %eax\n\t"
  199. "                        jne NoEs\n\t"
  200.                        //AddressOfNameOrdinals
  201. "                        movl 0x24(%edx), %edi\n\t"
  202. "                        addl 8(%ebp), %edi\n\t"
  203. "                        roll $0x1, %ecx\n\t"
  204. "                        addl %ecx, %edi\n\t"
  205. "                        movzwl (%edi), %ecx\n\t"
  206.  
  207.                        //AddressOfFunctions
  208. "                        roll $0x2, %ecx\n\t"
  209. "                        movl 0x1c(%edx), %esi\n\t"
  210. "                        addl 8(%ebp), %ecx\n\t"
  211. "                        addl %esi, %ecx\n\t"
  212. "                        movl (%ecx), %eax\n\t"
  213. "                        addl 8(%ebp), %eax\n\t"
  214. "                        jmp bien\n\t"
  215. "NoEncontre:\n\t"
  216. "                        xorl %eax, %eax\n\t"
  217. "bien:\n\t"
  218. "                        popl %edi\n\t"
  219. "                        popl %esi\n\t"
  220. "                        popl %ecx\n\t"
  221. "                        popl %edx\n\t"
  222.  
  223. " leave\n\t"
  224. "                        ret $8");
  225.  
  226.   };
  227. bool cmpsrt(char* str1,char* str2){
  228.   __asm__ __volatile__(
  229.                        "pushl %ecx\n\t"
  230.                        "pushl %esi\n\t"
  231.                        "pushl %edi\n\t"
  232.  
  233.  
  234.                        "xorl %ecx, %ecx\n\t"
  235.                        "movl 8(%ebp), %esi\n\t"
  236.                        "movl 12(%ebp), %edi\n\t"
  237.                        "pushl %esi\n\t"
  238. "call __Z3lenPc\n\t"
  239. "movl %eax, %ecx\n\t"
  240.                        "pushl %edi\n\t"
  241.                        "call __Z3lenPc\n\t"
  242.                        "cmpl %ecx, %eax\n\t"
  243.                        "jne dife\n\t"
  244. "repe cmpsb (%esi),(%edi)\n\t"
  245. "cmpl $0, %ecx\n\t"
  246.                        "jne     dife\n\t"
  247.                        "xorl %eax, %eax\n\t"
  248. "dife: \n\t"
  249.                        "popl %edi\n\t"
  250.                        "popl %esi\n\t"
  251.                        "popl %ecx\n\t"
  252. "leave\n\t"
  253.                        "ret $8\n\t"
  254. );
  255. return 0;
  256. }
  257. ;
  258. int len(char*){
  259.  
  260. __asm__ __volatile__(
  261. "pushl %ecx\n\t"
  262.                        "pushl %esi\n\t"
  263.                        "pushl %edi\n\t"
  264.  
  265.                        "xorl %eax, %eax\n\t"
  266.  
  267.                        "movl $-1, %ecx\n\t"
  268.                        "movl 8(%ebp), %edi\n\t"
  269. "repne scasb (%edi)\n\t"
  270.                        "negl %ecx\n\t"
  271.                        "subl $2, %ecx\n\t"
  272.                        "movl %ecx, %eax\n\t"
  273.  
  274.                        "popl %edi\n\t"
  275.                        "popl %esi\n\t"
  276.                        "popl %ecx\n\t"
  277.                        "leave\n\t"
  278.                        "ret $4");
  279.  
  280. };
  281.  
  282.  

el .h

Código
  1. #ifndef LOADDRV_H_INCLUDED
  2. #define LOADDRV_H_INCLUDED
  3.  
  4. #define null 0
  5. #define FILE_FLAG_OVERLAPPED 0x40000000
  6. #define OPEN_EXISTING 3
  7. #define FILE_SHARE_WRITE 2
  8. #define FILE_SHARE_READ 1
  9. #define GENERIC_READ     0x80000000
  10. #define GENERIC_WRITE 0x40000000
  11. #define SC_MANAGER_ALL_ACCESS 0x000F003F
  12. #define SERVICE_KERNEL_DRIVER 0x1
  13. #define SERVICE_SYSTEM_START    0x1
  14. #define SERVICE_ERROR_NORMAL 0x1
  15. #define ERROR_SERVICE_ALREADY_RUNNING 1056L
  16.  
  17.  
  18. typedef wchar_t WCHAR;
  19. typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
  20. typedef unsigned short USHORT;
  21. typedef unsigned long ULONG;
  22.  
  23. typedef struct _UNICODE_STRING {
  24.  USHORT Length;
  25.  USHORT MaximumLength;
  26.  PWSTR  Buffer;
  27. } UNICODE_STRING, *PUNICODE_STRING;
  28. typedef enum _SYSDBG_COMMAND
  29. {
  30.  SysDbgQueryModuleInformation  = 0,
  31.  SysDbgQueryTraceInformation  = 1,
  32.  SysDbgSetTracepoint  = 2,
  33.  SysDbgSetSpecialCall  = 3,
  34.  SysDbgClearSpecialCalls  = 4,
  35.  SysDbgQuerySpecialCalls  = 5,
  36.  SysDbgBreakPoint  = 6,
  37.  SysDbgQueryVersion  = 7,
  38.  SysDbgReadVirtual  = 8,
  39.  SysDbgWriteVirtual  = 9,
  40.  SysDbgReadPhysical  = 10,
  41.  SysDbgWritePhysical  = 11,
  42.  SysDbgReadControlSpace  = 12,
  43.  SysDbgWriteControlSpace  = 13,
  44.  SysDbgReadIoSpace  = 14,
  45.  SysDbgWriteIoSpace  = 15,
  46.  SysDbgReadMsr  = 16,
  47.  SysDbgWriteMsr  = 17,
  48.  SysDbgReadBusData  = 18,
  49.  SysDbgWriteBusData  = 19,
  50.  SysDbgCheckLowMemory  = 20,
  51.  SysDbgEnableKernelDebugger  = 21,
  52.  SysDbgDisableKernelDebugger  = 22,
  53.  SysDbgGetAutoKdEnable  = 23,
  54.  SysDbgSetAutoKdEnable  = 24,
  55.  SysDbgGetPrintBufferSize  = 25,
  56.  SysDbgSetPrintBufferSize  = 26,
  57.  SysDbgGetKdUmExceptionEnable  = 27,
  58.  SysDbgSetKdUmExceptionEnable  = 28,
  59.  SysDbgGetTriageDump  = 29,
  60.  SysDbgGetKdBlockEnable  = 30,
  61.  SysDbgSetKdBlockEnable  = 31,
  62.  SysDbgRegisterForUmBreakInfo  = 32,
  63.  SysDbgGetUmBreakPid  = 33,
  64.  SysDbgClearUmBreakPid  = 34,
  65.  SysDbgGetUmAttachPid  = 35,
  66.  SysDbgClearUmAttachPid  = 36,
  67. } SYSDBG_COMMAND;
  68.  
  69.  
  70.  
  71. #endif // LOADDRV_H_INCLUDED
  72.  
  73.  
7  Programación / Programación General / problema con Globalalloc en: 20 Diciembre 2008, 17:52
hola, tengo un problema con GlobalAlloc, me devuelbe ERROR_NOT_ENOUGH_MEMORY (00000008)
pero hay memoria desobra y el proceso solo gasta 716kb segun el administrador de tareas
porque puede ser?
8  Programación / Programación General / Privilegios en: 1 Noviembre 2008, 03:06
Buenas
Como puedo saber desde mi programa se ejecuta en modo administrador?
9  Programación / Ingeniería Inversa / problema con un EXE casero en: 27 Octubre 2008, 01:45

mi problema es que he hecho un programa que modifica otro, pero algo ice mal que los dejo inservibles.
me podrian decir como puedo debunguear un programa que no se quiere abrir,
da error al cargar
lo pongo aqui y no en programacion general porque pienso que vosotros sabreis mas de los EXEs

Por favor contesten
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines