Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - YST

#621
ASM / Re: Pequeño visor PE
22 Abril 2009, 08:16 AM
Cita de: AmeRiK@nO en 22 Abril 2009, 08:07
Muy bueno, si señor, será muy util este code. Gracias por el aporte  ;-).

salu2
jeje gracias, lo que le quiero agregar ahora es que genere logs en html , yo creo que para unas semanas mas lo tengo generando logs en html :D .
#622
ASM / Re: Pequeño visor PE
22 Abril 2009, 07:01 AM
Se actualiza el visor pe , ahora listando el import data  ;)
Código (asm) [Seleccionar]

format pe console
include 'win32ax.inc'
.data
Espacio equ 13,10,0   ;Para pasar a una nueva linea.
RutaArchivo rb MAX_PATH   ;Variable para guardar la ruta de el archivo
PunteroPEheader dd ? ; Puntero de el Pe header
Logo db '                      ===================================',13,10          ; LOGO PRINCIPAL
     db '                      =         PE visor by YST         =',13,10
     db '                      ===================================',13,10,0

LogoGeneral db '                      ===================================',13,10          ; LOGO GENERAL
            db '                      =           General               =',13,10
            db '                      ===================================',13,10,0

LogoSecciones db '                      ===================================',13,10
              db '                      =           Secciones             =',13,10     ;LOGO DE INFO DE LAS SECCIONES
              db '                      ===================================',13,10,0

LogoExport    db '                      ===================================',13,10
              db '                      =           Export data           =',13,10     ;LOGO DE INFO DE el Export data
              db '                      ===================================',13,10,0
LogoImport    db '                      ===================================',13,10
              db '                      =           Import data           =',13,10     ;LOGO DE INFO DE el import data
              db '                      ===================================',13,10,0
FHandle dd ?  ; MZ de el archivo
.code
start:
invoke system,"color 3" ;Ponemos el color de texto
invoke printf,Logo      ;Imprimimos el logo
invoke printf,Espacio   ;Ponemos dos nuevas lineas.
invoke printf,Espacio

invoke printf,"Inserte la ruta de el archivo a examinar:"   ; Preguntamos el archivo
invoke printf,Espacio
invoke scanf,"%s",RutaArchivo  ;Obtenemos la ruta de el archivo

invoke LoadLibrary,RutaArchivo ;Cargamos el archivo
.if eax = 0     ; Si hay error
invoke printf,"Hubo un error al cargar el archivo:" ;Mostramos el error .
invoke printf,RutaArchivo
invoke ExitProcess,0 ; Nos salimos.
.else ; De lo contrario
.if  word[eax] = "MZ" ; Si los primeros 2 bytes son igual a MZ
mov [FHandle],eax      ; Guardamos el MZ en FHandle
.else  ; De lo contrario
invoke printf,"Ingrese un archivo valido." ;Mostramos el error .
invoke ExitProcess,0 ; Nos salimos.
.endif ; Terminamos los if
.endif

add eax,dword[eax+03ch] ; Guardamos en eax la direccion de el PE header
.if  word[eax] = "PE" ; Si los primeros 2 bytes son igual a PE
mov [PunteroPEheader],eax      ; Guardamos el puntero de el PE header en PunteroPEheader
.else  ; De lo contrario
invoke printf,"No se a detectado PE header." ;Mostramos el error .
invoke ExitProcess,0 ; Nos salimos.
.endif ; Terminamos los if
.endif

invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,LogoGeneral ;Imprimimos el logo de la informacion general.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.

mov ebx,[FHandle]
mov ebx,dword[ebx+03ch]
invoke printf,"La posicion de el PE header es : 0x%x" ,ebx    ;Mostramos la direccion de el PE header
invoke printf,Espacio ; Pasamos a la siguiente linea.

add ebx,[FHandle]; Le sumamos a la posicion de el PE header el MZ para pasar a el puntero de el PE header
invoke printf,"TimeDateStamp: 0x%x " ,dword[ebx+08h] ; Imprimimo el TimeDateStamp
invoke printf,Espacio ; Pasamos a la siguiente linea.



invoke printf,"SizeOfCode: 0x%x " ,dword[ebx+1ch] ; Imprimimo el SizeOfCode
invoke printf,Espacio ; Pasamos a la siguiente linea.


invoke printf,"AddressOfEntrPoint: 0x%x " ,dword[ebx+28h] ; Imprimimo el AddressOfEntrPoint
invoke printf,Espacio ; Pasamos a la siguiente linea.


invoke printf,"ImageBase: 0x%x " ,dword[ebx+34h] ; Imprimimo el ImageBase
invoke printf,Espacio ; Pasamos a la siguiente linea.


invoke printf,"SizeOfImage: 0x%x " ,dword[ebx+50h] ; Imprimimo el SizeOfImage
invoke printf,Espacio ; Pasamos a la siguiente linea.

invoke printf,"SizeOfHeaders: 0x%x " ,dword[ebx+54h] ; Imprimimo el SizeOfHeaders
invoke printf,Espacio ; Pasamos a la siguiente linea.


invoke printf,"CheckSum: 0x%x " ,dword[ebx+58h] ; Imprimimo el CheckSum
invoke printf,Espacio ; Pasamos a la siguiente linea.

invoke printf,"Subsystem: "       ;Imprimimos el Subsystem
.if dword[ebx+5Ch] = 2h  ;SI es GUI
invoke printf,"Windows GUI"    ; Imprimimos   Windows GUI
.else             ; De lo contrario es CUI (Consola)
invoke printf,"Windows CUI"  ; Imprimimos   Windows CUI
.endif        ;Terminamos el if
invoke printf,Espacio ; Pasamos a la siguiente linea.
stdcall EOFExtraDataExtract,[FHandle]
invoke printf,"Posicion de el EOF: 0x%x",eax       ;Imprimimos la posicion de el EOF
invoke printf,Espacio ; Pasamos a la siguiente linea.

invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,LogoSecciones ;Imprimimos el logo de la informacion de las secciones.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.

mov esi,[PunteroPEheader]      ;Movemos el puntero de el PE Header a esi.
movzx ebx,word[esi+06h]  ; Guardamos la cantidad de secciones en ebx.



invoke printf,"Numero de secciones: %d",ebx   ;Imprimimos la cantidad de secciones.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.

.bucleImprimeSecciones: ; Bucle que imprime secciones
dec ebx    ;Les restamos uno a ebx
mov eax,28h       ;Hacemos que eax sea igual a $28
mul ebx           ;Multiplicamos ebx
add eax,0xf8      ;Le sumamos $F8 ( $F8 = START OF SECTION TABLE )
add eax,esi       ;Le agregamos al resultado de la multiplicacion el puntero de el PE header
mov edi,eax       ;Guardamos eax en edi
invoke printf,"Name: %s",edi  ;Imprimimos el nombre de la sección.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,"virtual address: 0x%x",dword[edi+0ch]  ;Imprimimos el virtual address
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,"VirtualSize: 0x%x",dword[edi+08h]        ;Imprimimos el VirtualSize
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,"SizeOfRawData: 0x%x",dword[edi+10h] ;  Imprimimos el SizeOfRawData
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,"pointerToRawData : 0x%x",dword[edi+14h]   ;Imprimimos el pointerToRawData
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,"Characteristics: 0x%x",dword[edi+24h] ;Imprimimos las Characteristics
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,Espacio  ; Pasamos a la siguiente linea
invoke printf,Espacio  ; Pasamos a la siguiente linea

cmp ebx,0
jne .bucleImprimeSecciones   ; Si no se an imprimido todas las secciones saltamos a lña etiqueta .bucleImprimeSecciones .

invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,LogoExport   ;Imprimimos el logo de la informacion de el export data.
invoke printf,Espacio ; Pasamos a la siguiente linea.
invoke printf,Espacio ; Pasamos a la siguiente linea.

.if dword[esi+078h] = 0    ; Si no hay export data
invoke printf,"[+]No se exporta ninguna funcion."
invoke printf,Espacio ; Pasamos a la siguiente linea.
.else
mov ebx,dword[esi+078h]
add ebx,[FHandle]
invoke printf,"Cantidad de funciones exportadas: %d",dword[ebx+18h]    ;Imprimimo la cantidad de funciones exportadas.
invoke printf,Espacio ; Pasamos a la siguiente linea.          +
mov edi,dword[ebx+20h]   ;AddressOfNames
add edi,[FHandle]
mov ebx,dword[ebx+18h]   ;Numero de exports
invoke printf,"Funciones exportadas: "
  invoke printf,Espacio
.bucleExportData:           ;Bucle para imprimir la export data
dec ebx
mov        eax, [edi + ebx * 4]
add eax,[FHandle]
invoke printf,"[+]%s",eax
  invoke printf,Espacio
  cmp ebx,0
  jne .bucleExportData  ;Si no se an imprimido todas seguimos
.endif
invoke printf,LogoImport
invoke printf,Espacio
invoke printf,Espacio
  mov eax,[PunteroPEheader]
.if  dword[eax+80h] = NULL  ;Si no importamos ninguna funcion.
invoke printf,"[+]No importa ninguna funcion."
.else;De lo contrario
stdcall Sacaimport,[FHandle]
.endif
invoke system,"pause"
invoke ExitProcess,0

proc EOFExtraDataExtract,FHandle ;Funcion para extraer el EOF
push esi  ebx
mov eax,[FHandle]
mov esi,dword[eax+03ch] ;Offset to start of PE header
add esi,eax
movzx ebx, word[esi+06h] ;Number Of Sections
dec ebx
mov eax,28h
mul ebx
add esi,0xf8 ;START OF SECTION TABLE
add esi,eax
mov eax,dword[esi+10h] ;SizeOfRawData
add eax,dword[esi+14h]  ;pointerToRawData
pop ebx esi
ret
endp
proc Sacaimport ,handle
locals
Export dd ?
endl
pushad
mov eax,[handle]
mov ebx,dword[eax+03ch]
add ebx,eax
mov ebx,dword[ebx+80h]
add ebx,eax
mov [Export],ebx
.buclelib:
mov ebx,[Export]
mov edi,dword[ebx+0ch]
cmp edi,0
je .salir
add edi,[handle]
invoke printf,"- Funciones de %s: ",edi
invoke printf,"%s",Espacio
xor esi,esi
mov esi,dword[ebx]
add esi,[handle]
mov edi,esi
xor ebx,ebx
.bucleapi:
xor esi,esi
mov esi,dword[edi+ebx]
cmp esi,0
je .otralib
add esi,[handle]
add esi,2h
invoke printf," [*]%s",esi
invoke printf,"%s",Espacio
add ebx,04h
jmp .bucleapi
.otralib:
add  [Export] ,14h
jmp .buclelib
.salir:
popad
ret
endp

.end start
section '.reloc' fixups data discardable
#623
WarZone / Re: Login Warzone
22 Abril 2009, 04:54 AM
Se borraron puntos por que no hay mas backups y se puso una antigua ( me cconto un pajarito por hay ) ...
#624
Si y tampoco es lo mismo meterse a una casa y abrir las chapas  y no robarla a robarla  , pero hay que ser honesto la gente no rootea por rootear , generalmente es para hacer varios defaces , exepto que sea para aprender y puedo poner mis manos al fuego que OzX no necesita aprender a rootear  .

PD: Tus chistesitos no van por acá , hay un post en el foro libre si no mal recuerdo para contar chistes por si te sientes gracioso.
Saludos
#625
CitarSi pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.
Podrias explicar un poco mas tu forma de pensar , por que y o pienso lo mismo que OzX.

#626
Cita de: seba123neo en 14 Abril 2009, 03:27 AM
que ganas de pelearse no?

No soy una persona peleadora pero es que me da rabia que uno ayuda y la gente a que ayudas te ataca.
Cita de: seba123neo en 14 Abril 2009, 03:27 AM
pero bueno en algo tienen razon de lo que dijeron que el tema ya esta hablado por lo menos en visual basic 6 hay ejemplos por todos lados del tema de pipes y las api's que tenes que usar...es mas...en el mismo api-guide(no le debe faltar a ningun programador) hay ejemplos de pipes...se puede adaptar a visual basic .NET pero me inmagino que no sera necesario el visual basic .NET ya tiene clases propias en el framework para crear pipes...busca que hay ejemplos...

en serio el google es re-poderoso...yo cuando empeze en esto de los foros tenia la idea de preguntar cada cosa que se me pasara por la cabeza y cuando aprendi a buscar en el google yo creo que no pregunte mas...supongamos que de todos los foros que visite escribi unos 10 mil post...menos de 10 fueron preguntas..¿porque? las otras las busque y si tenia que estar dias buscando lo hacia..si no tenia que dormir no dormia...solo para encontrar la respuesta...y tratar de no preguntar...si sabes buscar no preguntas te lo aseguro...

saludos.

Eso es lo que yo digo , uno cuando empieza no sabe ni como compilar , pero para todo esta google y cuando ya estubiste una hora en google sin encontrar respuestas pues vas a los foros.
#627
Cita de: ☻polloesponja☻ en 14 Abril 2009, 00:31 AM
Por qué tengo que aprender a programar antes? esque tu naciste sabiendo programar....no me acordaba.
No , pero yo aprendi a programar leyendo y no andando jodiendo por los foros , los foros estan para resolver dudas no para enseñar a programar de 0.
#628
CitarYST  Intenté buscarlo en google :) y como hay mucha gente como tu en la red solo encontré respuesta absurdas

Escribe las cosas como hombre bien grandes y no como marica.

Te dije que con pipes que tu no sepas si quiera que son no es mi culpa ni es la de nadie , aprende a programar antes.

Y usa foro.elhacker.net/buscar antes de postear ;).
#629
Cita de: ☻polloesponja☻ en 13 Abril 2009, 17:43 PM
Cita de: YST en 13 Abril 2009, 17:38 PM
Cita de: ☻polloesponja☻ en 13 Abril 2009, 17:33 PM
Es como si le dices a un bebé
Anda, con las piernas.
da igual, no os esforceis en responder era curiosidad.
En toodo caso el bebe demuestra mas esfuerzo en aprender y es mas agredecido que tu .


Si no sabes decir como se hace no  publiques un mensaje.Rima y todo  ;).

Yo si se hacerlo , pero por un vago que ni se da el trabajo de usar el buscador de el foro no me voy a dar un gran esfuerzo , publica en su foro correspondiente , deja de postear cosas que se an preguntado unas mil veces y por ultiumo aprende a decir gracias niñito mal agradecido.
#630
Cita de: ☻polloesponja☻ en 13 Abril 2009, 17:33 PM
Es como si le dices a un bebé
Anda, con las piernas.
da igual, no os esforceis en responder era curiosidad.
En toodo caso el bebe demuestra mas esfuerzo en aprender y es mas agredecido que tu .