| Cracking
        (Lucifer48)   
 
            
                | El
                Cracking es para mí una parte de algo más
                general que es la ingeniería inversa (RE).
                Entender ensamblador perfectamente es mortalmente
                importante (los crackers siempre deben
                ser coders). La lectura de varios manuales
                también es importante. ¡Yo realmente también
                aconsejo que pruebes algún crackmes, algunos
                están asombrando así; realmente es un buen
                ejercicio! Detrás de parchear, corregir, hay
                otro mucho conocimiento fundamental:
                matemáticas, algoritmos, los lenguajes (ASM,
                C, Pascal, Java, Prolog, Caml,...)
                , criptografía, OS (no sólo Windows,
                prueba el Linux / Unix) ,... (de
                hecho es una parte de las ciencias de
                computación). 
 ¡Conocimiento es definitivamente poder! Para
                volverte un cracker actúa como un cracker.
                Siempre piensa que crackers experimentados pueden
                ayudarte para todo, se hizo IRC / foros / email
                para eso. Nunca pierdas un día: aprende,
                aprende, aprende. ¡Fascínate o muere!
 |  
 
 
 NOP Patching (+ORC)
 
 
            
                | No
                uses NOP a menos que sea totalmente necesario,
                ahí normalmente hay una manera mejor. Por
                ejemplo podrías reemplazar 2 NOPs con un simple
                INC EAX, DIC EAX o algo de ese tipo. Hay muchas
                cosas para usar en lugar de un NOP que son
                bastante fáciles de hallar en el código. |  
 
 
 Parcheando (MisterE)
 
 
            
                | Te
                lo diré ahora mismo: Odio parchear. Hay
                numerosas razones por qué no debes parchear,
                aunque hay situaciones cuando no puedes hacer
                nada más. Como cuando quieres quitar ese NAG
                Screen de algún programa que no te permite
                introducir un name/serial. ¡Si puedes introducir
                un numero de serie o puedes registrar el programa
                sin parchear, hazlo!! Si quieres parchear
                podrías encontrar problemas como programas que
                hacen alguna verificación de CRC o chequea
                múltiples veces. Otro problema común es que los
                newbies remiendan algún salto sólo antes de la
                llamada a un MessageBoxA. Los programas te dicen
                estás registrado, pero entretanto la única cosa
                que remendaste era que el programa despliega el
                mensaje de 'registered' en lugar del mensaje de
                'unregistered'. |  
 
 
 Parcheando Archivos Empaquetados (Mister Soth)
 
 
            
                | Todo
                este método, en un par de las palabras requiere
                alguna planificación, pero cuando se ejecuta,
                bien lo vale . Lo que nosotros estamos haciendo
                es hallar el OEP (Punto de Entrada
                Original), y antes de que entremos en el
                programa principal, pondremos otro recorte de
                código para parchear lo que nosotros queremos.
                ¡Si tenemos el espacio para poner simplemente el
                código adentro, mejor! 
 Sin embargo si no tenemos el espacio, tendremos
                que mirar en otra parte y redireccionar el
                programa a esa situación. Al redireccionar,
                asegúrate siempre que consigues la dirección
                correcta, porque tendrás que parchear el archivo
                EXE y poner el código en el mismo lugar EXACTO
                al que el SALTO está apuntando, y esto podría
                ser delicado. De nuevo, una buena manera para
                hacer esto es encontrando un patrón familiar y
                apuntándolo (o recordando lo que prefieras)
                .
 |  
 
 
 Pensando como un cracker (rudeboy)
 
 
            
                | Se
                enseña a los programadores que siempre que
                tengas una tarea que va a ser hecha más de una
                vez, debes crear una función para hacer esa
                tarea, y simplemente LLAMAR a la función cuando
                necesites realizarla. 
 Ahora, la mayoría programas que usan una
                combinación Name / Serial verifican por lo menos
                dos veces el código, una vez cuando introduces
                el código, y otra vez cuando el programa se pone
                en marcha. Debido a esto el programador LLAMARA
                normalmente una función para probar la validez.
                Y normalmente, esta función se Llamará cada vez
                el código se verifica.
 
 Así si remiendas la función que se Llama para
                probar la validez de tu Numero de serie, lo
                mostrará como válido siempre que el programa
                haga que se compruebe.
 
 Las técnicas empleadas aquí no sólo se aplican
                para crackear programas con una combinación Name
                / Serial. No te limites pensando ' Dentro de la
                caja', estas técnicas pueden usarse también con
                muchos otros tipos de protecciones. Por ejemplo
                muchas veces una comprobación de fecha y un NAG
                Screen son hechos a través de una función.
 |  
 
 
 Herramientas (rudeboy)
 
 
            
                | No
                te limites a una herramienta, usa SoftICE,
                W32DASM, IDAS, y cualquier otra herramienta que
                tengas juntos. La información recaudada con uno
                normalmente puede usarse con otro. |  
 |