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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 24
41  Programación / Programación C/C++ / Problema Incrementar puntero en: 16 Junio 2012, 11:39 am
Buenas a todos vengo con este codigo curioso, estaba codeando y tenia problemas para acceder a los campos, mi logica me decia
una cosa XD, vean:


Código:
#include <Windows.h>
struct hola
{
DWORD a;
DWORD b;
DWORD* c;
};
hola jh;
int main()
{

jh.a = 10;
jh.b = 20;

DWORD* temp =  &jh.b;

temp = (DWORD*) temp + 4;

return 0;
}

pero por ejemplo si el puntero temp lo quiero incrementar +2 como seria? ojo no quiero incremntar 2 posiciones sino simplemente sumarle 2...
intente hacerle un casting de char* pero no funciono :|

alguien sabe?


ED: ( 5 min despues XD ) si funciono con el casting de unsigned char* haha, siempre en la madrugada me salen estos pequeños errores, quiza e sueño XD
42  Programación / Ingeniería Inversa / Recurso comprimido en: 14 Junio 2012, 10:35 am
Buenas a todos, bueno hoy me e topado con algo raro, estaba trasteando unos programas y encontre uno que
queria modificar un bitmap que tenia como recurso y me muestra esto un mensaje que esta comprimido... el bitmap?
os queria preguntar como puedo obtener el bitmap que trae... gracias de ante mano gente  ;)
miren:



ED:bueno me e enterado que esta empaquetado pero me e bajado el RDG Packer Detector pero no se como usarlo primero
porque no tiene extension haha
43  Programación / Programación C/C++ / Problemas se me descontinua la PILA en: 10 Junio 2012, 08:42 am
Buenas  ::) quería saber quien me puede hechar una mano en este problema, el codigo es sencillo pero al salir de mi funcion
me sale un mensaje de advertencia o de error y no se si VC lo arregla:
creo que esta claro que intento hacer, pero al parecer la PILA se me pierde...

Código
  1. DWORD INVOKEAPINORMAL(DWORD Mod,char* APIName, DWORD nParam,...)
  2. {
  3. DWORD* lptemp = 0;
  4. DWORD temp;
  5. DWORD nn = 0;
  6.  
  7. DWORD Ret;
  8.  
  9. HMODULE hMod = NULL;
  10. LONG hProc = NULL;
  11.  
  12. hMod =  GetModuleHandleA(Mod);
  13. hProc = (LONG) GetProcAddress(hMod,APIName);
  14.  
  15. lptemp = &nParam;
  16. lptemp++;
  17. __asm
  18. {
  19. mov ecx,nParam
  20. ant: mov eax,[lptemp]
  21. mov ebx,[eax]
  22. push ebx
  23. add lptemp,04h
  24. loop ant
  25. call hProc
  26. mov Ret,eax
  27. }
  28.  
  29. return Ret;
  30. }
44  Programación / Programación C/C++ / problemas listando procesos en: 5 Junio 2012, 09:28 am
Hola a todos, bueno tengo unos problemas para listar los procesos:
no sé si estoy declarando mal las definiciones pero el retorno de la API me devuelve 0 ( osea exito ) pero como pueden ver
en el mensajebox no muestra los nombres, luego revise la memoria pero como cien bytes abajo encontraba los nombres : P


por cierto si encontrase ya la primera informacion correcta, para encontrar el siguiente puntero estaria bien hacer esto;

Código:
PointerStruct = PointerStruct + PointerStruct->NextEntryOffset;

Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. #define SystemProcessInformation 5
  5.  
  6. typedef NTSTATUS (NTAPI* DefZwQuerySystemInformation)(IN ULONG SystemInformationClass,
  7.                        IN PVOID SystemInformation,IN ULONG SystemInformationLength,
  8.    OUT PULONG ReturnLength);
  9.  
  10. typedef struct _LSA_UNICODE_STRING {
  11.  USHORT Length;
  12.  USHORT MaximumLength;
  13.  PWSTR  Buffer;
  14. } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING;
  15.  
  16. typedef struct _SYSTEM_THREAD {
  17. LARGE_INTEGER KernelTime;
  18. LARGE_INTEGER UserTime;
  19. LARGE_INTEGER CreateTime;
  20. ULONG WaitTime;
  21. PVOID StartAddress;
  22. LONG ClientId;
  23. LONG Priority;
  24. LONG BasePriority;
  25. ULONG ContextSwitchCount;
  26. ULONG State;
  27. LONG WaitReason;
  28. } SYSTEM_THREAD, *PSYSTEM_THREAD;
  29.  
  30. typedef struct _SYSTEM_PROCESS_INFORMATION {
  31.  
  32.  ULONG                   NextEntryOffset;
  33.  ULONG                   NumberOfThreads;
  34.  LARGE_INTEGER           Reserved[3];
  35.  LARGE_INTEGER           CreateTime;
  36.  LARGE_INTEGER           UserTime;
  37.  LARGE_INTEGER           KernelTime;
  38.  UNICODE_STRING          ImageName;
  39.  LONG                BasePriority;
  40.  HANDLE                  ProcessId;
  41.  HANDLE                  InheritedFromProcessId;
  42.  ULONG                   HandleCount;
  43.  ULONG                   Reserved2[2];
  44.  ULONG                   PrivatePageCount;
  45.  LONG                VirtualMemoryCounters;
  46.  IO_COUNTERS             IoCounters;
  47.  SYSTEM_THREAD           Threads[0];
  48. } SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;
  49.  
  50.  
  51. int main()
  52. {
  53. HMODULE NTDLL = GetModuleHandle("NTDLL");
  54. DefZwQuerySystemInformation ZwQuerySystemInformation = (DefZwQuerySystemInformation) GetProcAddress(NTDLL,"NtQuerySystemInformation");
  55. DWORD Ret;
  56.  
  57. ZwQuerySystemInformation(SystemProcessInformation,0,0,&Ret);
  58.  
  59. unsigned char* lp = (unsigned char*) malloc(Ret);
  60.  
  61. DWORD RZ = ZwQuerySystemInformation(SystemProcessInformation,lp,Ret,&Ret);
  62.  
  63. PSYSTEM_PROCESS_INFORMATION tmp =(PSYSTEM_PROCESS_INFORMATION)lp;
  64.  
  65. MessageBoxW(NULL,tmp->ImageName.Buffer ,NULL,MB_OK);
  66.  
  67. return 0;
  68. }
45  Programación / Ingeniería Inversa / Anti breakpoint? en: 4 Junio 2012, 01:11 am
Hola a todos bueno e escuchado mucho hablar y me han mencionado de la tecnica anti break point... que es antidebug
para poder proteger un programa y este elimina los breakpoint si detecta que esta siendo depurado...
pero no sé como es ni sé en que consiste para hacer alguna implementacion en algun lenguaje... alguien sabe como
consiste?
46  Programación / Programación C/C++ / Simbolos Cargados para WIndbg? en: 31 Mayo 2012, 07:46 am
Hola , os queria preguntar acerca de Windbg si existe alguna forma de tener los simbolos ya cargados :P
debido que cada vez que quiero depurar un driver o programa con simbolos tarda entre 10 min o más en cargardos y mas si son
bastantes modulos y si aun no los tiene los tiene que descargar  :rolleyes: que fastidioso es eso :|
47  Programación / Programación C/C++ / Depurar un driver? en: 28 Mayo 2012, 13:09 pm
Hola bueno os queria saber quien me podria hechar un cable
quiero depurar un driver paso por paso pero en los libros que estoy leyendo actualmente no dice nada donde como
depurarlo paso a paso y en la doc de windbg no encuentro nada aún seguramente hay que leerse unas 100 paginas para
saber la respuesta :P

ya tengo listo el driver de hecho funciona y ya tengo lista la maquina virtual, pero no tengo idea de decirle a windbg que se detenga
en la primera instruccion de mi driver :|

48  Programación / Programación C/C++ / Accediendo a nueva seccíon en: 21 Mayo 2012, 22:02 pm
hola a todos, bueno quería preguntar algo simple, que no tengo idea si sería lo correcto...
verán aprendí a agregar una sección a un ejecutable todo bien... ahora en el propio ejecutable quiero acceder a los datos
de la nueva sección  agregada, por ejemplo si la nueva sección la virtualadress estaría en 3000, como es la manera correcta para
acceder a esos datos?

estaria bien si quiero los primeros 10 bytes haciendo esto:

memcpy(miArray,3000,10); ???

tambien me pregunto si esto afectaria si el ejecutable tiene sección relocation...
tambien pense que quizas tendria que sacar la direccion relativa...
nose..

como sería lo correcto? gracias :)

49  Programación / Ingeniería Inversa / Duda Formato PE en: 18 Mayo 2012, 05:30 am
Hola a todos bueno creí en pensar escribir mi tema aquí porque la gente de Ingenieria inversa sabe mucho sobre el formato PE, bueno ya e leido sobre el formato PE y veran e estado viendo mucho EXEs y por ejemplo hice este hola mundo que posteare el Hex y tengo una dudilla sobre algo...
(Perdon por lo publicarlo con geshis es que necesitaba resaltar lo de mi duda)

lo que esta en azul es la Section headers, para que puedan ubicarse más rapido
lo de rojo no entiendo de donde sale... quiero saber de donde sale lo de rojo ? si fuera por el FileAlignment solo fueran 200h bytes aquí en este ejecutable pero
hay más... exactamente son 448 bytes, luego lo demas entiendo todo ( lo de verde es la sección de codigo, y bla bla... no puse todo para no hacer
tanto desorden... :P )

hey gracias por la ayuda :)


000001A2 00 00 00 00 00 00 00 20 00 00 14 00 00 00 00 00 00 00 00 00 00 00 ....... ..............
000001B8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 .................text.
000001CE 00 00 25 00 00 00 00 10 00 00 00 02 00 00 00 04 00 00 00 00 00 00 ..%...................
000001E4 00 00 00 00 00 00 00 00 20 00 00 60 2E 72 64 61 74 61 00 00 B6 00 ........ ..`.rdata....
000001FA 00 00 00 20 00 00 00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00 ... ..................
00000210 00 00 00 00 40 00 00 40 2E 64 61 74 61 00 00 00 2C 03 00 00 00 30 ....@..@.data...,....0
00000226 00 00 00 02 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000023C 40 00 00 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @.....................
00000252 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000268 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000027E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000294 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002D6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000002EC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000302 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000318 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000032E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000344 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000035A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000386 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000039C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003B2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003C8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000003F4 00 00 00 00 00 00 00 00 00 00 00 00
6A 00 FF 15 04 20 40 00 6A 00 ............j.... @.j.
0000040A 68 00 30 40 00 68 00 30 40 00 6A 00 FF 15 0C 20 40 00 6A 00 FF 15 h.0@.h.0@.j.... @.j...
00000420 00 20 40 00 CC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . @...................
00000436 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000044C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000462 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000478 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000048E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004A4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004BA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004E6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000004FC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000512 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000528 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000053E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000554 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000056A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000596 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005AC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005C2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005D8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000005EE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6C 20 00 00 ..................l ..
00000604 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 08 30 40 00 60 30 z ....... .......0@.`0
0000061A 40 00 58 20 00 00 00 00 00 00 00 00 00 00 8E 20 00 00 00 20 00 00 @.X ........... ... ..
00000630 64 20 00 00 00 00 00 00 00 00 00 00 AA 20 00 00 0C 20 00 00 00 00 d ........... ... ....
00000646 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6C 20 00 00 ..................l ..
0000065C 7A 20 00 00 00 00 00 00 9C 20 00 00 00 00 00 00 19 01 45 78 69 74 z ....... ........Exit
00000672 50 72 6F 63 65 73 73 00 15 02 47 65 74 4D 6F 64 75 6C 65 48 61 6E Process...GetModuleHan
00000688 64 6C 65 41 00 00 4B 45 52 4E 45 4C 33 32 2E 64 6C 6C 00 00 0E 02 dleA..KERNEL32.dll....
0000069E 4D 65 73 73 61 67 65 42 6F 78 41 00 55 53 45 52 33 32 2E 64 6C 6C MessageBoxA.USER32.dll
000006B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006CA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
000006F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000070C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000722 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000738 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
0000074E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
00000764 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......................
 
....
50  Programación / ASM / Acerca de DOS stub en: 17 Mayo 2012, 04:29 am
Bueno eso, no me refiero a la cabecera , sino al Stub, me e fijado que son diferentes incluso algunos programas
tienen unos bytes más... o tambien menos...
realmente no importa el contenido del DOS stub?
o eso depende...? por ejemplo si le intercambio el DOS stub de programas W32 afectaría en algo? dejaria de funcionar?
tomando en cuenta que ambas son del mismo tamaño... ( eso si afectaria verdad? si no fueran del mismo tamaño...)

la verdad no habla mucho en el MSDN del DOS Stub :P por eso pregunto... gracias gente :D
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines