|
1032
|
Seguridad Informática / Análisis y Diseño de Malware / Re: [AYUDA] formato PE obtener dirección fisica de secciones y mas cosas
|
en: 5 Septiembre 2011, 13:21 pm
|
Ya lo e conseguido, muchas gracias a todos... El código arreglado es el siguiente: #include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { IMAGE_DOS_HEADER idh; IMAGE_FILE_HEADER ifh; IMAGE_OPTIONAL_HEADER ioh; IMAGE_SECTION_HEADER ish; char ruta[] = "C:\\MS-DOC.exe"; FILE * archivo = fopen(ruta ,"r+b"); if (archivo == NULL) { // si no podemos abrri el archivo. printf("Error al abrir el archivo\n"); return 1; } fread(&idh ,0x40,1,archivo ); // rellenamos IMAGE_DOS_HEADER if (idh.e_magic != IMAGE_DOS_SIGNATURE) { // comprovamos el e_magic para saber si es un EXE printf("No es un archivo EXE\n"); return 1; } fseek(archivo ,idh. e_lfanew + 4,SEEK_SET ); fread(&ifh ,0x14,1,archivo ); // rellenamos IMAGE_FILE_HEADER fseek(archivo , idh. e_lfanew + 4 + sizeof(ifh ), SEEK_SET ); fread(&ioh ,ifh. SizeOfOptionalHeader,1,archivo ); // Leemos IMAGE_OPTIONAL_HEADER for (int i=0;i<ifh.NumberOfSections;i++) { fread(&ish , sizeof(ish ),1,archivo ); printf("%x\n",ish. Misc. PhysicalAddress); } return 0; }
saludos.
|
|
|
1034
|
Seguridad Informática / Análisis y Diseño de Malware / [AYUDA] formato PE obtener dirección fisica de secciones y mas cosas
|
en: 2 Septiembre 2011, 13:38 pm
|
Buenas, bueno al fin he decidido meterme de lleno a aprender el formato PE y tenia pensado agrandar la sección de código par aintroducir un pequeño opcode con un msgbox y tal una chorradilla pero para ensayar no me parece mal  . El problema viene cuando no puedo detectar el ISH bien de todas las secciones, solo lo detecta bien de la primera, el código que he creado es este: #include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { IMAGE_DOS_HEADER idh; IMAGE_FILE_HEADER ifh; IMAGE_OPTIONAL_HEADER ioh; IMAGE_SECTION_HEADER ish; char ruta[] = "C:\\MS-DOC.exe"; FILE * archivo = fopen(ruta ,"r+b"); if (archivo == NULL) { // si no podemos abrri el archivo. printf("Error al abrir el archivo\n"); return 1; } fread(&idh ,0x40,1,archivo ); // rellenamos IMAGE_DOS_HEADER if (idh.e_magic != IMAGE_DOS_SIGNATURE) { // comprovamos el e_magic para saber si es un EXE printf("No es un archivo EXE\n"); return 1; } fseek(archivo ,idh. e_lfanew + 4,SEEK_SET ); fread(&ifh ,0x14,1,archivo ); // rellenamos IMAGE_FILE_HEADER fseek(archivo , idh. e_lfanew + 4 + sizeof(ifh ), SEEK_SET ); fread(&ioh ,ifh. SizeOfOptionalHeader,1,archivo ); // Leemos IMAGE_OPTIONAL_HEADER int suma = 0; for (int i=0;i<ifh.NumberOfSections;i++) { fseek(archivo , idh. e_lfanew + 4 + sizeof(ifh ) + ifh. SizeOfOptionalHeader + (sizeof(ish )*(ifh. NumberOfSections-1)) + suma ,SEEK_SET ); fread(&ish , sizeof(ish ),1,archivo ); // rellenamos IMAGE_SECTION_HEADER printf("%x\n",(&ish )[i ]. Misc. PhysicalAddress); suma += 0x28; // sumo 0x28 que es lo que ocupa ish para pasar a los datos de la siguiente sección. } return 0; }
Nose que andará mal por ahi si me peuden hechar una mano sería de gran ayuda  un saludo.
|
|
|
1036
|
Programación / ASM / Re: duda con parametros sin definir y saber su direccion
|
en: 1 Septiembre 2011, 03:37 am
|
Hasta donde se, en ASM los params se PUSHean al reves de como los declaras. int AgregarRegistro(int param1, int param2) { void* ptrreg; void* ptrreg2; __asm eax, dword ptr [esp+4] //recupera param2 __asm mov ptrreg, eax __asm eax, dword ptr [esp+8] //recupera param1 __asm mov ptrreg2, eax }
Si no es asi, debe ser al reves...  Saludos! no sería asi exactamente, fijate: include 'win32ax.inc' .data cadena1 db 'primero',0 cadena2 db 'segundo',0 .code start: push cadena2 push cadena1 call Msgbox invoke MessageBoxA,0,"Sali del proceso",0,0 ret Msgbox: pop eax ; dirección de retorno pop ecx ;primer parametro pop edx ;segundo parametro push eax invoke MessageBoxA,0,edx,ecx,0 pop eax jmp eax ; retornamos .end start
Aunque con las macros de las funciones y tal creo qeu variaria un poco. saludos.
|
|
|
1037
|
Programación / ASM / Re: Salto de línea (fasm16) y algo mas je
|
en: 23 Agosto 2011, 13:40 pm
|
org 100h MOV AH,9 MOV DX,Texto INT 21h ;Muestro "Hola mundo!" MOV AH,1 ;Espero el ingreso de una tecla INT 21H INT 20h Texto db 'Hola mundo!',10,13,'Presione una tecla para continuar.',24h
|
|
|
1039
|
Seguridad Informática / Análisis y Diseño de Malware / Re: Creacion troyano?
|
en: 19 Agosto 2011, 15:16 pm
|
Aver... No es que quiera correr antes de andar... Necesito correr antes de andar. Y ya se que lo mas logico seria aprender a programar, y lo mas bonito, pero no tengo tiempo, y lo que dijistes demon a eso me refiero, aqui no se si ustedes sabrian hacer un juego simple... Yo si, y tu , y el, y mi hermana pequeña, basicamente siguiendo un tutorial. Eso es lo que quiero saber, si ustedes alguna vez han echo un troyano con un tuto, y el troyano les ha funcionado bien.
Parece que no te enteras del caso. Porque te copies de un tutorial no va a ser tuyo el troyano  ademas que de seguro no lo programas ni siguiendo un tutorial. Coje uno hecho anda y no seas tan duro de sesera o aprende a programar y azlo como dios manda no sigas dando la vara que te van a seguir respondiendo igual. saludos.
|
|
|
|
|
|
|