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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 ... 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 [111] 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 143
1101  Programación / Ingeniería Inversa / Re: Problema en Ollydbg en: 24 Junio 2007, 00:42 am
Vale ya he visto tu fallo...
Pero es que no puedes poner el archivo .rar o .zip.

Ése no es el ejecutable.
Tienes que arrastrar el ejecutable solamente: .exe
1102  Programación / Ingeniería Inversa / Re: Problema en Ollydbg en: 24 Junio 2007, 00:37 am
Hola Dr. Catz..

Desde el enlace que puse yo en el post "Cómo desempacar un UPX para Newbies", lo acabo de probar de nuevo y no está corrupto. Está perfectamente. Sólo en un archivo te pide una pass pero también está bien indicada. Tal vez tengas más tu descompresor. Aquí tienes uno bueno gratuito por si acaso:

Por otro lado, la página web del RDG Packer Detector, es ésta:



La clave para descomprimir el "empaquetado1.rar" es:
www.indetectables.net
1103  Programación / Ingeniería Inversa / Cómo desempacar un UPX para Newbies en: 23 Junio 2007, 19:28 pm
Este es un magnifico tute muy bien explicado y con todo lujo de detalles que todo newbie que empieza debería tener y leer y entender.
Ha sido realizado por Shaddy de CrackSLatinoS. Está bien actualizado a día de hoy.


DESCARGA

Otro link:
Descarga

PD. Me parece tan buen tute que lo he guardado por si en un futuro alguien lo necesita o falla la descarga.
1104  Programación / Ingeniería Inversa / Ejemplo 06 - Sobre Visual Basic (I) en: 22 Junio 2007, 22:27 pm
Ejemplo 06

Sobre Visual Basic 6 (I)

Muchísima gente sigue utilizando todavía el querido (queridísimo) Visual Basic 6. Por este motivo existen en la actualidad cientos de programas compilados en este lenguaje.

¿Quién no ha tenido alguna vez la curiosidad de abrir un programa compilado en Visual Basic (VB) con un editor de recursos?¿Qué observaremos?.
-Pues normalmente sólo veremos dos carpetas: Icon Group y Version.

¿Por qué?
-Pues porque como comenté al principio de todo, los editores de recursos analizan la sección de recursos (.rsrc) pero en los programas compilados con VB6, los recursos NO se encuentran en esa sección.

Un programa compilado con VB6 normalmente tiene 3 secciones:
-text (aquí el Entry Point)
-data
-rsrc (y es la que los editores de recursos leen)

Entonces, ¿dónde se guardan los recursos?
-Se guardan en la sección .text.

Buscar determinados recursos a mano por la sección .text, es una locura así que voy a utilizar un programa muy bueno que nos va a indicar dónde está cada cosa:
VB Decompiler Lite

Lo primero es configurarlo, así que en el menú Tools-Options en los apartados Form y Disasembler señalamos todas las tildes.

Ahora ya podemos abrir cualquier programa compilado en Visual Basic. Yo voy a abrir uno de ejemplo que acabo de hacer. Es éste:


Imagen33

Como se observa el botón no está centrado.
Veo en VB Decompiler lo siguiente:

Código:
Begin VB.CommandButton Command1 'Offset: 00001230
    Caption = "Caption"
    Left = 480
    Top = 240
    Width = 1335
    Height = 495
    TabIndex = 0
  End

Me está diciendo que:
-Se trata de un botón: CommandButton
-Su "caption": Caption
-Su posición en el formulario: Left y Top
-Sus dimensiones: Width y Height
-El índice del Tab: TabIndex = 0
-Y lo más importante de todo: Que se encuentra en el offset 00001230. (¡Qué buena información!. Esta información nos va a ayudar en nuestro cometido y pocos programas la dan).

Lo que voy a hacer es modificar por ejemplo:
-La posición del botón para centrarlo.(Solamente horizontal)
-Y voy a modificar también el texto mostrado ("Caption") por "Aceptar". En este último caso no tendré problemas ya que los dos textos constan de 7 bytes.

Voy a abrir el ejecutable en VB con cualquier editor hexadecimal. A la izquierda los editor hexadecimales nos indican el offset así que nos dirigimos a 00001230 y tendremos que ver lo siguiente:

Código:
1230   0000 0001 0800 436F 6D6D 616E 6431 0004   ......Command1..
1240   0107 0043 6170 7469 6F6E 0004 E001 F000   ...Caption..à....
1250   3705 EF01 1100 00FF 0204 0000 5000 0000   7.......ÿ....P.....

Lo primero que voy a hacer es cambiar lo más fácil en este caso :el texto. Así que modificamos "Caption" y escribimos encima "Aceptar".
Ahora voy a mover el botón a la derecha para centrarlo. Sé por el VB Decompiler que el Left = 480. Utilizo la calculadora de Windows y convierto 480 decimal en hexadecimal: 480d == 01E0h.
Como sé que los datos se guardan al revés, sé que tengo que buscar por E001, así que en el código que he puesto arriba lo localizo rápidamente en la segunda linea (los dos penúltimos bytes).

Ahora hago unos cálculos matemáticos sencillos para centrar el botón:
Ancho formulario = 4185; 4185/2 = 2093
Ancho botón = 1335; 1335/2 = 668
Posición resultante para centrar: 2093 - 668 = 1425

1425 decimal = 0591 hex por lo tanto tengo que modificar los bytes E001 por 9105.
El final del código es el siguiente:
Código:
1240   0107 0041 6365 7074 6172 0004 9105 F000 ...Aceptar..`...
Lo guardo como ejemplo.exe, lo ejecuto y...

Imagen34

Esto es similar en todos los controles...

Ahora para finalizar viene de nuevo mi pasión por las imágenes, es un poco diferente.

Cómo modificar una imagen:

Voy a ir directamente al ejemplo. He creado una aplicación que sólo consta de una imagen. El acerca de, puede ser el siguiente:


Imagen35

Consta de una imagen. Vamos a ver cómo la podemos modificar.
Para extraer las imágenes voy a utilizar otro programa excelente, se trata de VBreformer su página web es la siguiente:
http://www.decompiler-vb.net/

Voy a abrir el programa en VB con este VB reformer. En mi caso, yo he utilizado el programa Trial Edition v.4.2. Y tras analizar la aplicación aparecen a la izquierda las siguientes carpetas:

*Informations-headers (para este tutorial nos olvidamos de ella)
*Forms-objetcs:
         -Form1 - VB.form:
                    -Mi_imagen - VB.Image
*Visual Basic resources:
         -Form1.frx:
                    -Form1.frx: 00000000

Ahora miro a la derecha y veo el siguiente código:
Código:
'address 00001178
Begin VB.Form   Form1
...
...
    Begin VB.Image   Mi_imagen
            'Object ID: 0x0001
            Picture="Form1.frx":00000000
            Left..
            Top..
            ....
    End
End

Yo me fijo en estos detalles:
1º El nombre de la imagen: Mi_imagen
2º El offset que me indica el formulario. Ya que la imagen estará  más abajo de ahí: 'address 00001178
3º La imagen en cuestion. A la derecha me indica que la imagen es esta: Picture="Form1.frx":00000000. Así que voy a la izquierda (donde las carpetas) y selecciono la imagen correspondiente: -Form1.frx: 00000000

Ya tengo la imagen que quiero modificar. VBreformer tiene una opción valiosísima que nos permite extraer la imagen tal cual aparece en el código, así que lo voy a hacer: "File --> enregistrer l'image sous"


Yo la he llamado: imagen.bmp.
Ahora voy a buscar un dato importantísimo:
-El tamaño: 102734 bytes

Con toda esta información ya puedo modificar la imagen o crear otra a mi gusto. La única condición es que la imagen nueva NO DEBE sobrepasar de 102734 bytes. No he probado a modificar el formato pero supongo que dará error así que lo dejo igual: .bmp. La imagen que he creado la he llamado imagen_modificada.bmp

Yo he hecho esta imagen de igualmente 102734 bytes:


Imagen36

Ahora viene la parte más difícil de todo. Insertar esa imagen.

Voy a abrir el programa con un editor hexadecimal cualquiera y me voy a ir al offset antes marcado: 00001178.
Ahora bien, yo sé que una imagen en formato mapa de bits comienza por BM, así que un poco más abajo de ese offset voy a buscar esto comentado:

Código:
Offset           ASCII
1220        ..........Mi_ima
1230        gen.............
1240        ..BMN..........

Ahí está el nombre de mi imagen, y después aparece lo comentado:BM. Ya tengo el inicio.

Ahora abro en otra pestaña del editor hexadecimal la imagen_modificada.bmp y copio todos sus bytes.

Ahora tengo que pegarlo pero sin que se agrege ningún byte de más, así que hay que hacer cálculos matemáticos:

Offset de inicio: 00001242 hex
Tamaño de la imagen: 102734 dec = 1914E hex
Offset final imagen: 00001242 + 0001914E = 0001A390 hex
Pero como el offset 00001242 ya contiene un byte pues hay que restarle 1. ¡IMPORTANTE!

Por lo tanto:
offset inicial: 00001242
offset final:   0001A38F

Ahora solamente y con mucho cuidado hay que seleccionar los bytes que hay entre esos offsets y pegar los que habíamos copiado. Sé por experiencia que seleccionarlos para un bitmap puede ser complicado, así que algunos editores hexadecimales permiten seleccionar pulsando la tecla Shift o simplemente lo que hago yo: visualizo 128 bytes por columna y en un momento lo selecciono todo.

Bueno, tras pegar lo que acabo de comentar ya tiene que aparecer lo siguiente:


Imagen37

Ciertamente si no se tiene experiencia, puede ser complicado realizar este último ejemplo que acabo de hacer.

1105  Programación / Ingeniería Inversa / Re: ¿Que ha pasado con la web de Ricardo Narvaja? en: 20 Junio 2007, 20:08 pm
me los puedes pasar por favor.

Si me haces esa pregunta pienso que es porque no has buscado mucho, ¿verdad?

Mira solamente poniendo en Google: "Introducción al OllyDBG" sale en la segunda página de la búsqueda este fantastico enlace que además de tener los tutes de Ricardo tienen más información... (Antes de pedir este tipo de ayuda... buscar un poco.. jolín) que no cuesta nada buscar el Google...
http://www.lamejorinfo.com/inicio/modules.php?name=Content&pa=showpage&pid=19&page=1

PD. Ya le he comentado a Ricardo el problema. He probado con otro descompresor gratuito y lanza el mismo error, en cuanto sepa algo lo comento.
1106  Programación / Ingeniería Inversa / Re: ¿Que ha pasado con la web de Ricardo Narvaja? en: 20 Junio 2007, 18:34 pm
Sí efectivamente hay algunos archivos que parecen dañados, pero permite descargar el archivo doc en la mayoría de los casos. Lo preguntaré a ver si hay que hacer algo especial..

De todos modos si buscáis un poco por la red, se pueden encontrar...

Por ej. los tutes del 1 al 10 se pueden descargar de aquí en formato pdf.:


http://file024.mylivepage.com/chunk24/753969/512/INTRODUCCION%20AL%20CRACKING%20CON%20OLLYDBG%20PARTES%201%20a%2010%20en%20PDF.ra
r

Si alguno no lo encontráis pedírmelo.
1107  Programación / Ingeniería Inversa / Re: ¿Que ha pasado con la web de Ricardo Narvaja? en: 20 Junio 2007, 16:36 pm
Todos los archivos están aquí:
http://ricardonarvaja.googlepages.com/
(de introducción al Olly).

1108  Programación / Ingeniería Inversa / Re: Duda Sobre SICE en: 18 Junio 2007, 12:57 pm
Hola Real_Nova...
Mira el Softice ya casi nadie lo utiliza, (yo la última vez que lo utilizé y sin éxito fue en una unidad virtual donde instalé en W98 para analizar un crackme en DOS).
El relevo se lo dió el OllyDBG.
Para poder manejarte con el OllyDBG desde cero tienes esta página:
enlace

Existen todavía actualmente muchos programas que no requieren la utilización de un debugger, como dices para crackearlo, utilizando para ello otras herramientas específicas.
Pero si no quieres utilizar un debugger o un desensamblador, ¿cómo quieres analizar el programa? Hay programas para desensamblar muy buenos como el IDAPro.

Hay programas muy sencillos que incluso abriéndolos con un editor hexadecimal te diriges al final del archivo (buscando la sección de recursos normalmente al final) y ahí puedes tener información muy valiosa.

Un debugger o desensamblador son muy necesarios.
1109  Programación / Programación Visual Basic / Re: Funcion Binario en: 18 Junio 2007, 12:40 pm
Hay muchos códigos en internet para pasar decimal a binario.
El siguiente código que te pongo no es mío pero lo probé y funciona perfectamente. Convierte un dato tipo long en una cadena que será el binario final.
Es una función muy sencilla:

Código:
Function Binario(ByVal valor As Long) As String
Dim mayor As Integer
Dim retorno As String
Dim a As Integer

'Busca el mayor exponente
mayor = 0
Do While True
    If 2 ^ mayor > valor Then
        If mayor > 0 Then
            mayor = mayor - 1
            End If
        Exit Do
        End If
    mayor = mayor + 1
    Loop

'Calculo del valor binario
retorno = ""
For a = mayor To 0 Step -1
    If valor < (2 ^ a) Then
        retorno = retorno & "0"
    Else
        retorno = retorno & "1"
        valor = valor - (2 ^ a)
    End If
    Next a

'Pasa el valor como resultado de la función
Binario = retorno
End Function

Si quieres probarla, pon 2 textbox: text1 y text2 y un botón.
En text1 pones el decimal que quieras pulsas el botón y con este código ya verás el valor binario:

Código:
Private Sub Command1_Click()
   Text2.Text = Binario(Text1.Text)
End Sub

Un saludo

1110  Programación / Ingeniería Inversa / Re: Problema con armadillo... en: 18 Junio 2007, 01:01 am
Hola Hendrix, la verdad que el Armadillo y más con CopymemII pues no es fácil. Yo he desempacado varios sin Copymem pero sólo uno con Copymem y con ayuda de varias herramientas.

Actualmente la página de Ricardo donde hay buenos tutes sobre esto está caída, así que voy a buscar un tute que tengo de un amigo y buen cracker(Solid) en el que explica de forma muy clara cómo desempacar Armadillo utilizando Tools únicamente. Lo busco y te pongo un enlace.

Tema del tute: Armadillo 4.62 + Debug Blocker + CopyMem II + Import Table Elimination + Code Splicing + Nanomites – PARA PRINCIPIANTES – USANDO TOOLS

descarga
Páginas: 1 ... 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 [111] 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 ... 143
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines