Forma Correcta de ingresar al Cracking

Iniciado por ANTRAX, Febrero 20, 2010, 03:00:59 AM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Buenas saludos a todos...
Bueno yo ahora me he interesado un poco en el tema de el cracking!!!!

Bueno les comento a los New Bytes!!!
Que comienzan que primero empiecen con teoria
Muy buenos tutoriales he visto por aca pero son lenguajes para supers

New Bytes!!!!!

MMMMMMMMM

pero error al comenzar por ellos comiencen por el principal lenguaje a los
que se introducen al cracking

Les recomiendo leer el lenguaje Ensamblador
Les explico un poco que es Ensamblador

Segun la wikipedia
...
El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.

....

Ok ya mas omenos saben que es ensamblador
yo no se este lenguaje todavia apenas lo practico
llevo 3 dias practicandolo solo que vi muchas cosas que dicen
para SUPER NEW BYTES pero son lenguajes diferentes!!!!
creo que el de super new bytes es este jejejejeje
espero no les moleste con el debido respeto
me tome chance para hacer este post

bueno ya basta de charlas ya los debo tener algo aburridos hahaha

Aca les dejo unas cuantas web a las que pueden  crecer sus conocimientos
en el ENSAMBLADOR a les recuerdo que este lenguaje es un poco costoso
....

les recomiendo esta primera pagina para empezar...
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esta seria la segunda...
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ok con esas dos le echan un repasada 2 veces a cada una y veran que entenderan
si no entienden leen  3 veces y captan hagan como yo hago siempre
yo agarro mi Block de Notas y empiezo anotar los ejercicios y asi  porque
se que hay muchos que solo copian y pegan y guardan y ya me voy jeje
Error si escribes por ti mismo ya tendras la manera de hacerlo bueno
les dejo un poco de teoria tambien sacada de Portalhacker....



                                 
    < INTRODUCCION AL CRACKING >


Autor: [KRaViTZ]
Notas del autor: Este material completamente para uso educativo y no me hago responsable en absoluto del uso que el lector le pueda dar al mísmo ni de los daños y/o perjucios le pueda ocacionar. Si desea publicar este manual puede hacerlo libremente pero respetando los derechos de autor. Si Ud. no está de acuerdo con las condiciones de uso de este documento, por favor no lo lea y elimínelo de su disco duro.

Objetivos

El objetivo de este manual es que los lectores interesados puedan intruducirse a este mundo del cracking desde otro enfoque diferente al que la gente conoce. Que puedan iniciarse con un mínimo de conocimientos previos que se les brindarán en este manual.

Concepto de Cracking

Tambien recibe el nombre de Ingeniería Inversa, es la ciencia que estudia la seguridad de sistemas de protección tanto de software como de hardware con el objetivo de violarlos para aprender de ellos y obtener un beneficio personal sin fines de lucro. Podemos definirlo tambien de forma más generalizada como la acción que consiste en la modificación total o parcial de sistemas mediante alguna técnica específica para adaptarlos a las nececesidades personales de uno o bien solucionar fallas o errores de los mismos.

Breve introducción a la materia

Casi todo el mundo ve al cracking como pirateria, como algo ilegal, aunque algo de razon hay aqui si se emplea incorrectamente como en la mayoría de los casos. Se supone que toda ciencia es usada para el bien, y el cracking deberia serlo. Seria bueno que los crackers aprendan desde el principio a estudiar los sistemas de protecciones comerciales para poder crear otros nuevos con meyor seguridad o bien mejorar los existentes e implementarlos en los futuros programas en vez de andar publicando cracks en internet, por que eso sí es ilegal. Entonces podriamos decir que existen crackers buenos y malos, de los buenos por suerte hay una buena cantidad, pero tambien hay muchos de los otros que quizas muchos de ellos tienen muy malas intenciones como la creacion de virus para ocacionar daños. El buen cracker puede considerar o no como "enemigo" a estos tipo de crackers, pero a diferencia del bueno, el malo tiene como enemigo Nº1 los autores de los programas.

Quién puede ser cracker?

Es común ver que muchas personas creen ser crackers por el solo hecho de bajar un crack publicado de internet para registrar un shareware y probablemente luego venderlo. Ellos creen que esa acción es crackear, pero es un pensamiento erroneo, nosotros los crackers los vemos a ellos como verdaderos ignorantes. Entonces si ellos creen ser crackers, que queda para el autor del crack? Ambas partes se consideran complices de la pirateria lo cual no es bueno.
Una persona debe reunir ciertos requicitos y cualidades para poder ser cracker, acá muestro los mas importantes:

- Conocimientos de Software y Hardware
- Conocimientos de programacion en general
- Conocimientos básicos de Assembler (Impresindible)
- Muchas ganas e interés
- Mucha dedicación y esfuerzo
- Mucha paciencia y tiempo

Un cracker no se hace de un dia para el otro, esto puede llevar meses e iclusive años. Para ser bueno eso depende, pueden ser otros años mas, y para ser profesional... bueno, mejor cambiemos de tema.

Qué hay de las protecciones de software?

La extraordinaria cantidad de programas que han sido crackeados, la mayoría fueron los programadores quienes hicieron el sistema de protección. El resto han sido los mismos crackers quienes lo programaron, y quien mejor si no entonces? estas protecciones presentaban gran dificultad para desprotegerlos, aunque se han visto programas que son casi imposible crackearlos y solo un cracker puede hacer un sistema asi, pero como ya sabemos nada es imposible, no existe 100% seguridad. Pero igualmente con esto logramos que las empresas desarrolladoras de software contraten a un buen cracker para proteger su software. También en internet hay muchas empresas de seguridad informática que están conformadas principalmente por crackers y hackers que prestan ese tipo de servicios y venden licencias de software con sistema proteccion incluida.
Existen infinidades de maneras de proteger programas, las mas comunes de encontrar en los programa son los siguientes:

Tiempo de uso limitado:
El programa puede caducar después de un período de tiempo determinado por el programador desde la fecha de instalación si no se registra el programa. Se suele limitar a minutos, horas, dias y meses.

Cantidad de ejecuciones limitadas:
El programa caduca luego de haberlo ejecutado una cantidad determinada de veces despuás de su instalacion si no se registra.

Numero de serie:
Esto es lo mas comun encontrar, existen de dos tipos, números de serie fijos o variables, éste ultimo se genera en la mayoria de los casos en base a algo, como por ejemplo en funcion del nombre de usuario, organizacion, etc. de esta manera se consigue un serial diferente y único para cada cliente o usuario. Pero también se suelen generar en función al nombre de la PC, del número de serie de disco o de algun otro componente del equipo. Y por último tenemos los números aleatorios, éstos son los más dificiles de crackear.

Mensajes molestos y/o nags:
Esto tambien es bastante común, son ventanas que pueden aparecer al inicio del programa o al final, o en alguna accion por parte del usuario en donde informa que se encuentra ante una copia no registrada o algun otro mensaje relacionado a la protección. Estos mensajes desaparecen al registrar.

Funciones desabilitadas:
Esto le dá a un shareware una escencia de que estamos ante una Demo pero no lo es en absoluto, generalmente deshabilitan funciones importantes de la aplicación, como por ejemplo: abrir, guardar, importar, exportar, imprimir, grabar, etc. Cuando registramos se habilitan todas.

CD-ROM:
Esta es la mas usada por los videos juegos. Debemos insertar el disco para poder jugarlos. Aveces hay juegos que están completamente instalados en el disco rigido pero nada más por seguridad nos piden el CD, otros realmente requieren archivos del mismo para su funcionamiento.

Archivos llave:
Es algo parecido al anterior pero funcionan de muchas formas diferentes dependendiendo de las habilidades del programador.

Anti-herramientas cracking:
Estas son muy efectivas si se utilizan técnicas novedosas o desconocidas para los crackers. Se pueden aplicar anti-depurador , anti-desensamblador, anti-monitores de registros o archivos, api, etc. Tambien anti-modificacion del ejecutable que seria algo como anti-editores hexadecimales.

Ejecutable comprimido y/o encriptado:
Esto también es muy efectivo si no se usan técnicas genericas. Por ejemplo con la compresion logramos disminuir el tamaño del ejecutable impidiendo que pueda ser desensamblado y también ocurre lo mismo con la encriptación. Pero tiene sus desventajas, con un depurador podemos ver el codigo en memoria ya descomprimido o desencriptado y se puede trabajar sobre él. Hay programas genericos que permiten descomprimir o desencriptar ejecutables para dejarlos tal y como lo vemos en memoria para poder aplicar parches.

Qué herramientas se utilizan?

Para crackear no se necesitan tantas herramientas, pero las hay segun sea el caso, a continuación nombraré y describiré las principales:

Depurador:
(En inglés Debugger) Es un programa que en realidad ha sido creado para solucionar errores o bugs de otros programas. Permite ver instrucción por instrucción en assembler que ejecuta el microprocesador en memoria durante la ejecución del programa y además nos permite poner puntos de parada (BreackPoints) en cualquier parte del código durante la ejecución. Podemos editar en forma temporal la memoria, los registros y las instrucciones para alterar su comportamiento. Ejemplo: SoftICE, TRW2000.

Desensamblador:
(En inglés Disassembler) Es un programa que nos permite ver el código de un ejecutable en assembler e interactuar con él. Podemos ver referencias de texto, menúes y cuadros de dialogo, funciones importadas y exportadas del programa desensamblado. Ejemplo: W32Asm, IdaPro.

Editor Hexadecimal:
Con este programa podemos editar los bytes en hexadecimal de las instrucciones de cualquier ejecutable o archivo. Con esto hacemos los parches. Ejemplo: UltraEdit, Hview, HexWorkshop, etc.

Monitor de Archivos:
Este programa se encarga de mostrarnos secuencialmente en tiempo real los archivos que estan siendo manejados con operaciones de entrada y salida (I/O) y por que programa esta siendo utilizado. Ejemplo: FileMon.

Monitor de Registro:
Este programa es similar al anterior con la diferencia de que se refiere al registro de Windows. Ejemplo: RegMon.

Monitor de Funciones API:
Este otro programa también es similar a los anteriores, nos permite espiar las funciones API utilizadas por un determinado programa en tiempo de ejecucion. Ejemplo: APIS32.

Descompresor:
Es un programa que sirve para descomprimir ejecutables comprimidos por algun compresor. Ejemplo: ProcDump.
Todas las herramientas se pueden encontrar en internet pero como toda herramienta antes de usarla por primera vez, debemos aprender a utilizarlas correctamente, hay cientos de manuales dedicados a las mas importantes, sobre todo el SoftICE que es muy dificil entenderlo. Como ya se habran dado cuenta necesitamos tener conocimientos de assembler para utilizarlas, por lo tanto busquense un buen manual para aprender.

Un pequño ejemplo práctico

Un programa es un conjunto de instrucciones que al ejecutarlo se cargan en memoria y éstas son ejecutadas una por una por el microprocesador. Muchas instrucciones impiden que se ejecuten otras como las instrucciones condicionales. Citaré un ejemplo un shareware cualquiera que hay que registrar por con un número de serie generado en base al nombre, si no introducimos el número correcto nos mostrará un mensaje de registración incorrecta. Qué ocurre en las instrucciones? Lo que aquí sucede es que hemos entrado a las rutinas de comprobación del serial del programa, que compara nuestro número de serie introducido con el número correcto, si son distintos muestra el mensaje de error y si son iguales nos muestra el de felicitacion y registra el programa. Saber assembler es fundamental para el crackeo, es un lenguaje de bajo nivel y practicamente el mas dificil de aprender. Ahora observaremos un pequeño ejemplo del algoritmo que hablamos representado en dicho lenguaje:

0001 push eax <- Almacena nuestro número en el registro EAX
0002 mov ecx, 0123 <- Mueve el serial correcto al registro ECX
0004 cmp eax,ecx <- Compara nuestro serial con el verdadero
0005 jne 0008 <- Si son distintos nos muestra mensaje de error

Este sistema es uno de los mas sencillos y faciles de crackear que nos podemos encontrar, aunque casi no quedan de esos. Para crackearlo es muy facil, se pueden modificar varias cosas, pero normalmente se acostumbra a invertir el salto condicional JNE que salta a la direccion 0008 donde esta el mensaje de error si EAX y ECX no son iguales, por el salto JE que salta si son iguales para que continue ejecutandose la siguiente linea y con esto cuando registremos el programa, nos aceptará cualquier número de serie como válido, salvo que pongamos el serial real.

Palabras finales

Con esto ya concluimos con este manual. La teoria necesaria para el cracking propiamente dicho merecen tutoriales especificos para temas en particular. Para los que se quieren iniciar, como ya he dicho, deben como primera medida aprender lo básico de assembler, aprender a usar las herramientas y luego leer tutoriales prácticos de crackeo para despues comenzar a practicar. Esas serían las pautas organizadas para que una persona se forme como cracker. Pero siempre recomiendo leer muchos manuales y tutoriales, muchisima práctica y entusiasmo si de verdad queres progresar.

[KRaViTZ]