lenguaje ensamblador

Tema en 'Manuales y Tutoriales' iniciado por janod21, 13 Oct 2009.

  1. janod21

    janod21 Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    9 Ago 2007
    Mensajes:
    7.236
    Me Gusta recibidos:
    305
    este es uno de los copy paste mas largos y buenos creo eso lo juzgan uds


    RECOMENDACIONES



    Supongo que todos estan inpacientes por saber mas de ingenieria inversa-primer intento(part 1).
    pero antes de seguir con la emocianante experiencia les recomiendo investiguen mas sobre los lenguajes ensambladores, aprendas mas cosas sobre su uso, practiquen en orario intensivo.
    solo asi podran estar al nivel para la segunda parte...
    no les quito mas tiempo.
    espero y sigan las recomendaciones.

    INGENIERIA INVERSA - PRIMER INTENTO(Part 1)


    He aquí nuestra primera aproximación, nuestro objetivo fue escogido al azar, y es un típico ejemplo de una combinación serial/fácilismo, debo mencionar que podremos seguir con muchas protecciones distintas. Empezaremos con protecciones fáciles y luego seguiremos con distintos esquemas de protección, aumentando así nuestro nivel poco a poco. Ejemplo nº1 :

    Nombre :ToggleMouse Tamaño del ejecutable: 618.486 Bytes Versión : 3.4.3 Ubicación : http://kutcracks.virtualave.net/kutfilez/toggle.zip Nombre del ejecutable : Togglemouse.exeTamaño del zip:418 Kb

    Características :Programa que permite generar utilidades con el Mouse Protección : SencillaTiempo estimado :20 Minutos (Para ayudar a los principiantes) Tipo de protección : Serial*Registro*Tiempo Precio :14.95 Dólares americanos + 4.00 por compra y resguardo en disketteLimitaciones :30 Días de prueba + 7 Días de terminación extra + Una pantalla que nos dice que tenemos que registrarnos. Herramientas a utilizar :WDasm, Editor hexadecimal, Zen Cracking.Primero que nada tenemos que familiarizarnos con el programa, ejecutemoslo, exploremos, y por un momento olvidemonos que se tiene que comprar, exploremos, miremos, probemos, enfatizemos con el programa. Después de hacer varias pruebas con el programa, le doy 2 puntos y medio de 5, fue de mi agrado. Recordemos que solo crackeamos para extender el periodo de prueba de un programa para probarlo al máximo de sus capacidades. Y para aprender de él. En este caso estudiaremos este programa paso a paso para ver qué es lo que hace y cómo lo hace .. ¿Listos para comenzar? Teórico, ahora, práctico.

    Ok, vamos a abrir, se preguntarán qué es el zen cracking.. le llamaremos Zen Cracking a la manera en que usamos nuestra mente para pensar en cómo funciona un programa, y por donde atacaremos ... algo así, no se puede explicar, sin embargo ud. mismos lo aprenderán en el transcurso, sin que yo les diga poco a poco de que se trata. Vamos a empezar por averiguar el cómo usar nuestras propias herramientas, al mismo tiempo que vamos interactuando con el programa, te recomendaría que imprimieras esto ya que con reiniciar e instalar softice y las herramientas se verá difícil estar cambiando de ventanas para leer mientras tratas de crackear el programa.

    INGENIERIA INVERSA - HERRAMIENTAS

    Tendremos que usar nuestras herramientas, acostumbrarnos a ellas, sentirlas, experimentar, provocar errores, aprender de ellos.
    usemos nuestras herramientas, vamos a probar con ellas, descarguemoslas todas desde una sola vez ...

    Depuradores
    Soft-Ice :-Nuestro añorado depurador, descarguemos la versión completa Aquí∞, vamos a descargar la versión 4.0 para Windows 95., ya que no necesitaremos más que eso. Si no me equivoco son 16 Mb. Si es que no funciona, prueben esta∞. Podremos usar este con mayoría, será nuestro depurador.
    Configuración se Soft-ICE: Desde ahora le llamaremos SICE, y cuando lo instales deberás correr por las siguientes configuraciones . . ., desde la 1ra configuración hasta la 3ra serán configuraciones de instalación.
    1ro: Requerirá de una contraseña: Cómo todavía no les he enseñado nada, les daré la contraseña : 4111-36143B-B7
    Desde ahora a las contraseñas les llamaremos seriales
    2do: Configuración de tarjeta de vídeo: SoftIce prácticamente detectará tu tarjeta de vídeo, si es que no es así, elije la tarjeta 'super vga'. Deberás hacer la prueba de vídeo con el botón 'test'.
    3ro: Modificación de tu AUTOEXEC.BAT: deberás saber que es tu autoexec.bat, si no sabes lo que es el autoexec.bat, puedes rendirte.. abandona este curso... si lo sabes, SoftIce se cargará en tu Autoexec.bat para que se inicie cada vez que parte tu computador. Si es que te llegan a ocurrir esos típicos errores de Windows, SICE se cargará, antes del error y a veces puede ser molesto y a veces puede dejar el error más grande aún. Así que te recomiendo que cuando comenzemos a crackear no lo cargues en el autoexec.bat, si no crea un bat. Si es que lo instalaste en nuestro directorio C:\Archivos de programa\Numega\softIce\ . Podré ayudarte, pon esta línea en un bat. Si es que elegiste que no modificara tu autoexec. deberás salir de windows en modo ms-dos, y cargar el bat..
    C:\ARCHIV~1\NUMEGA\SOFTIC~1\WINICE.EXE
    4to: Una vez instalado lanzar Symbol Loader: deberás lanzar el 'symbol loader', ir al menú edit, luego a SoftICE initialization settings. en donde dice 'Initialization string' debes poner X;wl;wr;wd7; code on;, y en donde dice 'History Buffer size (KB)' debes poner '512'.
    5to: Con un editor de texto: Debes abrir el fichero 'Winice.dat' que esta el el directorio en donde instalaste el SICE, y habrán líneas en donde se dice ';EXP=', a todas las líneas deberás quitarle el ';' al comienzo para que queden así 'EXP='. Mas tarde explicaré el porqué de esto.
    6to: Una vez hechos los cambios: Reiniciar el equipo para poder lograr la completa actualización de los cambios que hemos hecho
    Desensambladores
    WDasm :-No es el mejor, pero lo utilizaremos al comienzo, para seguir avanzando, es un desensamblador. Luego comenzaremos a utilizar el llamado IDA (Interactive DiSassembler) puedes descargarlos de una serie de mirrors, como siempre les daré 2 solamente,este∞ y este∞.
    IDA (Interactive DiSassembler) :-El mejor desensamblador, todo lo teórico que he hablado se entenderá en cuanto hagamos nuestro ejemplo volar por las nubes. Lamentablemente los mirros que tengo, uno es de la versión nueva∞ y otro de una versión mas antigua∞.
    Editores Hexadecimales
    UltraEdit 6.x :-Uno de los mejores editores hexadecimales, gracias a dios que el shareware lo reparten gratuitamente en http://www.ultraedit.com∞ , pronto aprenderemos a crackear nuestras propias herramientas, es lo primero que debemos hacer. Este lo vamos a dejar para el segundo capitulo, les regalaré el crack de todas las siguientes herramientas por el solo hecho de ser principiantes.
    Hex Workshop 2.54 :-Otro de los mejores editores existentes, también requiere de crackeo .. se puede descargar aqui∞ . Y el serial de este programa es : B5-45678.
    Hacker's View 6 :para mi simplemente el mejor editor existente... NO SE FIJEN EN MI PALABRA! ENCUENTREN SUS HERRAMIENTAS FAVORITAS! descarguen yo opino la misma wea( janod21)

    INGENIERIA INVERSA - ASSEMBLER

    [​IMG]
    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.
    Funcionamiento
    El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación correspondiente en sistema binario para la plataforma que se eligió como destino en las opciones específicas del ensamblador.
    TIPOS DE ENSAMBLADORES
    Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones, parámetros y cosas tales como los modos de direccionamiento. Además, reconoce una serie de directivas (o meta instrucciones) que indican ciertos parámetros de funcionamiento del ensamblador.
    Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores básicos, fueron muy populares en las décadas de los 50 y los 60, antes de la generalización de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de directivas para definir e invocar macroinstrucciones (o simplemente, macros).
    Ensambladores modulares 32-bits o de alto nivel. Son ensambladores que aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo compatibilidad hacia atrás pudiendo trabajar con programas con estructuras de 16 bits. Además de realizar la misma tarea que los anteriores, permitiendo también el uso de macros, permiten utilizar estructuras de programación más complejas propias de los lenguajes de alto nivel.

    Lenguaje ensamblador

    Fuente: De Wikipedia, la enciclopedia libre

    Saltar a navegación, búsqueda
    [​IMG] [​IMG]
    Lenguaje de máquina del Intel 8088. El código de máquina se resalta en rojo, el equivalente en lenguaje assembler en magenta, y las direcciones de memoria donde se encuentra el código, en azul.

    El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.
    Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, se pretenden altos rendimientos o un uso de recursos controlado y reducido.
    Muchos dispositivos programables (como los microcontroladores) aun cuentan con el ensamblador como la única manera de ser manipulados.
    Contenido

    [ocultar]

    Características [editar]


    • El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca mas bien al lenguaje máquina, es decir, lenguaje de bajo nivel.
    • El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.
    • Los programas hechos en lenguaje ensamblador son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.
    • Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.
    Ensambladores [editar]

    Un ensamblador (assembler en inglés) es un programa que crea código objeto traduciendo instrucciones mnemónicas de un programa fuente escrito en ensamblador a códigos ejecutables e interpretando los nombres simbólicos para direcciones de memoria y otras entidades (ensamblado). El uso de referencias simbólicas es una característica básica del lenguaje ensamblador, evitando tediosos cálculos y direccionamiento manual después de cada modificación del programa. La mayoría de los ensambladores también incluyen facilidades para crear macros, a fin de generar series de instrucciones cortas que se ejecutan en tiempo real, en lugar de utilizar subrutinas.[1]
    Los ensambladores son por lo general más fáciles de programar que los compiladores de lenguajes de alto nivel, y han estado disponibles desde la década de 1950. Los ensambladores modernos, especialmente para arquitecturas basadas en RISC, como por ejemplo MIPS, SPARC y PA-RISC optimizan las instrucciones para explotar al máximo la eficiencia de segmentación[2] de la CPU.
    Los ensambladores avanzados ofrecen posibilidades de abstracción que incluyen:

    • Control avanzado de estructuras.
    • Procedimientos de alto nivel, declaración de funciones.
    • Tipos de datos que incluyen estructuras, registros, uniones, clases y conjuntos.
    • Sofisticado procesamiento de macros.
    Lenguaje [editar]

    Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en microprocesador.
    Por ejemplo, un procesador x86 puede ejecutar la siguiente instrucción binaria como se expresa en código de máquina:

    • Binario: 10110000 01100001 (Hexadecimal: 0xb061)
    La representación equivalente en lenguaje ensamblador es más fácil de recordar:

    • MOV al, 061h
    Esta instrucción significa:

    El mnemónico "mov" es un código de operación u "opcode", elegido por los diseñadores de la colección de instrucciones para abreviar "move" (mover, pero en el sentido de copiar valores de un sitio a otro). El opcodeparámetros, completando una instrucción de ensamblador típica. es seguido por una lista de argumentos o
    La transformación del lenguaje ensamblador en código máquina la realiza un programa Ensamblador, y la traducción inversa la puede efectuar un desensamblador. A diferencia de los lenguajes de alto nivel, aquí hay usualmente una correspondencia 1 a 1 entre las instrucciones simples del ensamblador y el lenguaje de máquina. Sin embargo, en algunos casos, un ensamblador puede proveer "pseudo instrucciones" que se expanden en un código de máquina más extenso a fin de proveer la funcionalidad necesaria. Por ejemplo, para un código máquina condicional como "si X mayor o igual que" , un ensamblador puede utilizar una pseudoinstrucción al grupo "haga si menor que" , y "si = 0" sobre el resultado de la condición anterior. Los Ensambladores más completos también proveen un rico lenguaje de macros que se utiliza para generar código más complejo y secuencias de datos.
    El uso del ensamblador no resuelve definitivamente el problema de cómo programar un sistema basado en microprocesador de modo sencillo ya que para hacer un uso eficiente del mismo, hay que conocer a fondo el microprocesador, los registros de trabajo de que dispone, la estructura de la memoria, y muchas cosas más referentes a su estructura básica de funcionamiento.
    Cada arquitectura de microprocesadores tiene su propio lenguaje de máquina, y en consecuencia su propio lenguaje ensamblador ya que este se encuentra muy ligado al la estructura del hardware para el cual se programa. Los microprocesadores difieren en el tipo y número de operaciones que soportan; también pueden tener diferente cantidad de registros, y distinta representación de los tipos de datos en memoria. Aunque la mayoría de los microprocesadores son capaces de cumplir esencialmente las mismas funciones, la forma en que lo hacen difiere y los respectivos lenguajes ensambladores reflejan tal diferencia.
    Pueden existir múltiples conjuntos de mnemónicos o sintáxis de lenguaje ensamblador para un mismo conjunto de instrucciones, instanciados típicamente en diferentes programas en ensamblador. En estos casos, la alternativa más popular es la provista por los fabricantes, y usada en los manuales del programa.
    Código máquina [editar]

    El código máquina, o lenguaje de máquina, está formado por instrucciones sencillas, que -dependiendo de la estructura del procesador- pueden especificar:

    • Registros específicos para operaciones aritméticas, direccionamiento o control de funciones.
    • Posiciones de memoria específicas (offset).
    • Modos de direccionamiento usados para interpretar operandos.
    Las operaciones más complejas se realizan combinando estas instrucciones sencillas, que pueden ser ejecutadas secuencialmente o mediante instrucciones de control de flujo.
    Las operaciones disponibles en la mayoría de los conjuntos de instrucciones incluye:

    • mover
      • llenar un registro con un valor constante
      • mover datos de una posición de memoria a un registro o viceversa
      • escribir y leer datos de dispositivos
    • computar
      • sumar, restar, multiplicar o dividir los valores de dos registros, colocando el resultado en uno de ellos o en otro registro
      • realizar operaciones binarias, incluyendo operaciones lógicas (AND/OR/XOR/NOT)
      • comparar valores entre registros (mayor, menor, igual)
    • afectar el flujo del programa
      • saltar a otra posición en el programa y ejecutar instrucciones allí
      • saltar si se cumplen ciertas condiciones (IF)
      • saltar a otra posición, pero guardar el punto de salida para retornar (CALL, llamada a subrutinas)
    Algunas computadoras incluyen instrucciones complejas dentro de sus capacidades. Una sola instrucción compleja hace lo mismo que en otras computadoras puede requerir una larga serie de instrucciones, por ejemplo:

    • salvar varios registros en la pila de una sola vez
    • mover grandes bloques de memoria
    • operaciones aritméticas complejas o de punto flotante (seno, coseno, raíz cuadrada)
    Mientras que una computadora reconoce la instrucción de máquina IA-32
    10110000 01100001
    para los programadores de microprocesadores x86 es mucho más fácil reconocer dicha instrucción empleando lenguaje ensamblador :
    movb 0x61,%al
    (que significa mover el valor hexadecimal 61 (97 decimal) al registro 'al'.)
    Ejemplos de lenguaje ensamblador [editar]

    Ejemplo 1 [editar]

    El siguiente es un ejemplo del programa clásico Hola mundo escrito para la arquitectura de procesador x86 (bajo el sistema operativo DOS).
    .model small
    .stack
    .data
    Cadena1 DB 'Hola Mundo.$'
    .code

    programa:
    mov ax, @data
    mov ds, ax
    mov dx, offset Cadena1
    mov ah, 9
    int 21h
    end programa
    Ejemplo 2 [editar]

    Una selección de instrucciones para una computadora virtual[3] ) con las correspondientes direcciones de memoria en las que se ubicarán las instrucciones. Estas direcciones NO son estáticas. Cada instrucción se acompaña del código en lenguaje ensamblador generado (código objeto) que coincide con la arquitectura de computador virtual, o conjunto de instrucciones ISA.
    Dir. Etiqueta Instrucción Código máquina[4]

    .begin


    .org 2048

    a_start .equ 3000
    2048
    ld length,% 2064
    be done 00000010 10000000 00000000 00000110 2068
    addcc %r1,-4,%r1 10000010 10000000 01111111 11111100 2072
    addcc %r1,%r2,%r4 10001000 10000000 01000000 00000010 2076
    ld %r4,%r5 11001010 00000001 00000000 00000000 2080
    ba loop 00010000 10111111 11111111 11111011 2084
    addcc %r3,%r5,%r3 10000110 10000000 11000000 00000101 2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100 2092 length: 20 00000000 00000000 00000000 00010100 2096 address: a_start 00000000 00000000 00001011 10111000

    .org a_start
    3000
    a:</tt
    Ejemplo 3 [editar]

    Código en lenguaje ensamblador para µC Intel 80C51

    ORG 8030H

    T05SEG:
    SETB TR0
    JNB uSEG,T05SEG ;esta subrutina es utilizada
    CLR TR0 ;para realizar una cuenta de
    CPL uSEG ;0,5 segundos mediante la
    MOV R1,DPL ;interrupción del timer 0.
    MOV R2,DPH
    CJNE R2,#07H,T05SEG
    CJNE R1,#78H,T05SEG
    MOV DPTR,#0000H
    RET
    Ejemplo 4 [editar]

    Código en lenguaje ensamblador para µC 16F84 de Microchip

    ORG 0
    Inicio
    bsf STATUS,RP0
    clrf PORTB
    movlw 0xFF
    movwf PORTA
    bcf STATUS,RP0
    Principal
    movf PORTA,W
    movwf Contador
    movf Contador,F
    btfsc STATUS,Z
    goto PuntoDecimal
    sublw d'9'
    btfss STATUS,C
    END


    INGENIERIA INVERSA - COMENZANDO


    [​IMG]
    Empezaremos por saber que rayos necesitaremos para esto de la ingeniería inversa. Pueden ser encontrados en http://www.publispain.com/supertutoriales/underground/hacking/tools.htm
    Depurador/Debugger: Es un programa que sirve para "depurar" programas, me explico, cuando se ejecuta un programa y lo 'depuras' .. Te vas deteniendo en cada paso que ejecuta el programa, al mismo tiempo cuando lo depuras por ejemplo en el programa llamado "soft-ice", este es un programa para depurar (el más famoso) vas viendo el programa depurándose en ensamblador o mas bien conocido como assembler, explicaré assembler básico más adelante ...
    Lista de depuradores mas comunes : Debug (De MS-Dos), Soft-Ice (El más usado), TR (para dos y Win)
    Editor Hexadecimal: Es un programa que permite 'editar' archivos, en forma hexadecimal y poder cambiar bytes en él, mas adelante aprenderemos el sistema hexadecimal y binario.
    Lista de editores hexadecimales más comunes : Hex Workshop (Win95), Ultraedit (Win95), Hacker's View (Dos)
    Monitor del registro:Para ocasiones en que los programas guarden sus datos de registro en el sistema de Windows, siempre servirá este programa .. más adelante se explicará acerca de este famoso registro de 'windows'..
    Lista de monitor : Registry monitor (Win95).
    Descompresor: Algunos programas. Más en sí sus ejecutables, vienen comprimidos con ejecutables de otras compañías , por ejemplo el famoso IconForge, este programa no permite ser desensamblado... Existe un programa llamado shrink, que protege los ejecutables (EXE), con este puedes usar por ejemplo el Deshrink, que descomprime los archivos protegidos con Shrink.. Y así es posible desensamblar y modificar algunos segmentos... Creo que todavía ya los estoy confundiendo .
    Lista de descompresores comunes : Deshrink, PeUNLOCK, etc. miles más ...
    Monitor de archivos: Algunos programas crean archivos temporales con los registros correctos, y cuando se vuelven a ejecutar los programas, verifican la información del archivo temporal y si es que no es correcta se borra, el monitor de archivos ve los archivos que se crean ... (p.e. UltraEdit, este pide un número de registro, y para comprobar nos dice que necesita reiniciar para comprobar, este crea un archivo llamado uedit.reg).
    Lista de monitor : File Monitor.
    Desensamblador (Disassembler): Podemos depurar un programa en el instante, pero también podemos desensamblar un programa, o sea, ver lo depurado en el instante, pero tranquilamente podemos estudiar las rutinas sin tener que depurar 'En el momento'.

    INGENIERIA INVERSA - CONCEPTOS
    Empezaremos por pensar en qué es un sistema operativo, es la base por la cuál un programa (en este caso Windows 9x) domina el inicio de las rutinas para procesar datos en el disco duro. (suena enredado, pero piensa que se trata de un programa que hace que se 'inicie' el disco duro ..) .. ya sabemos cuál programa está dominando en tu equipo, si es que usas una apple macintosh, busca en altavista 'MAC CRACK', y encontrarás hechos al respecto. Muy bien, imaginemos un programa a crackear, o sea, ¿Qué queremos hacerle al crackearlo? .. vamos a eliminar diálogos o partes que digan .. 'Cómprame' .. 'gasta dinero' ... por un programa que usas, y por ejemplo,un programa que usas te pide que lo compres utilizando una tarjeta de crédito (p.e. MasterCard*Visa), y que lo compres por ejemplo en http://www.buynow.com&#8734;, del cuál te pedirá el nombre, número de tarjeta de crédito y cuando expira, así harán una cybercompra arrugando tus bolsillos ...¿No? ... si no te ha pasado revisa entre tus cosas esos CD's de revistas .. verás mucho material para crackear allí, todavía no sabes crackear, así que aprenderemos aquí. Imagina que este programa tiene un cuadro de diálogo que te pide un nombre y una contraseña, y esta contraseña se te da cuando compras el programa. y cuando la introduces en el programa, el programa te dirá "

    Gracias por registrarse
    " lo que prácticamente quiere decir que : "Gracias por gastar su dinero en este programa" .. nuestro objetivo para este y solamente este programa será estudiar el porque cuando introduces una contraseña errónea te dice "Contraseña incorrecta" ... y modificar esta sentencia o ver como es que forma la contraseña ... llamaremos desde ahora a MS-DOS ->DOS, a Windows 95 le llamaremos ->Win95. ¿Por qué digo solamente para este programa? .. pues existen varias protecciones distintas, como las de tiempo (cuánto tiempo usas un programa) .. las de usos (Cuánto puedes usar un programa, p.e. 6 veces)... y otras por allí ... Cada vez los programadores están desarrollando peores protecciones para los programas... y a veces son buenas... (no demasiado y pocas veces).. esto ocurre cuando los programadores crean los programas en pensamientos comerciales y 'monetarios' .. y lo peor de todo es cuando esto sucede gracias a la estúpida sociedad en que vivimos donde la gente esta propensa a que cuando se tiene dinero, no se hacen las cosas por placer. se hacen con mentes comerciales.

    INGENIERIA INVERSA-INTRO

    Trataremos este tema un breve periodo........asi que empezare esplicando.
    La ingeniería inversa se basa en quitar, remover, suspender uno o más temas de protección de alguna aplicación ya siendo comercial y otras. Muchos consideran esto como un arte. se les enseñará a crackear sus propios programas, e ir aumentando sus niveles de protección, en este primer curso aprenderemos algo mínimo en cuanto a reventar protecciones de programas, mas que nada, hablaremos de teórico.
    uso de la ingeniería inversa bajo el sistema operativo en Windows 95 y/o 98. Empezaremos por cosas muy básicas. Sólo les pediré las siguientes cosas para que comienzen a crackear :
    - Un Computador -=(Mayor o igual a 16 Mb. de RAM, mayor de 486 a 33)
    - Un disco duro de 1 Gb.
    - UN CEREBRO
    - Instinto y perspicacia.
    - Las ganas.
    - Algo de conocimientos básicos a medios (Como que es la RAM, programar, uso de Win95)
    - Si es posible, algo de conocimientos de ensamblador, si es que no es así, los ayudaré en lo que pueda.
    Yo creo que tienes los dos primero ítems, ya que ahora solo salen pentiums III y pocaso los II... Al mismo tiempo aprenderan a crackear a conocer los aspectos de una PC, cómo funciona, qué hace, y como es que se ejecutan las cosas.

    Etica? y Hackeo


    [​IMG]


    Antes de hablar de Hacking hay que definir bien éste concepto. Un Hacker es el neologismo que hace referencia a un experto en alguna disciplina relacionada con la informática o las telecomunicaciones. A diferencia de los Crackers, los Hackers no quieren robar, destruir, eliminar&#8230; Simplemente son expertos en una materia y utilizan sus conocimientos para llevar a cabo acciones que puede que en algunos casos rocen el límite de la legalidad.Hacking es también otro neologismo que indica la acción de un Hacker. Hay muchísima gente que descargándose un programa y averiguando contraseñas ya se autoproclaman hackers. Nada más lejos de la realidad. A estos individuos se les llama Script Kidies o Lamers.Un hacker no va ligado a lo ilegal, de hecho puede trabajar para una empresa testeando las vulnerabilidades de aplicaciones o para la policía trabajando como Analista forense digitalEl Hacking Ético es como se denomina a &#8220;aprender hackeando&#8221; y no a &#8220;aprender a hackear&#8221;. Incluso ya existe la certificación CEH (Cerfication for Ethical Hacker) o empresas que proporcionan servicio de Hacking Ético.Como empezarLos comienzos siempre son complicados. Imaginemos que uno quiere ser cirujano&#8230; Pero no cualquier cirujano sino un auténtico experto en cirujía, de estos que con un simple vistazo y las herramientas necesarias saben cuál es el problema y es capaz de guiarse por las entrañas de un paciente hasta él.
    Esto sería más o menos un Hacker en el mundo de la informática. Pero ¿qué hay que hacer para convertirse en Hacker? Pues si para ser un buen cirujano hay que estudiar medicina, para ser un buen Hacker hay que saber muchísimo de informática:§Sistemas Operativos: sistemas Unix, Windows, Macintosh §Hardware§Software: ya no sólo conocer herramientas para &#8220;hackear&#8221; sino que además saber programar en varios lenguajes de programación: C, C++, Java, PHP, Python&#8230; §Servicios y conexiones: Telnet, Ssh, TCP/IP Cuantos más de estos ámbitos se &#8220;controlen&#8221;, mejor Hacker serás. Digo controlar porque un verdadero Hacker no es que sepa utilizar el correo electrónico, sabe como funciona. Esa es la gran diferencia.Aqui van un par links para comenzar a saber &#8220;como funcionan las cosas&#8221;:§Como funciona la BIOS §Como funciona la memoria de un ordenador §Como funciona una red Ethernet §Como funciona un Disco duro §Como funciona un router §Como funciona la WiFi §Como funcionan los DNS (Domain Name Server) §Como funciona el Firefox §Como funcionan los archivos comprimidos §Como funciona la programación en C §Como funciona la programación en Java §Como funciona Digg §Como funciona BitTorrent §Como funciona eBay §Como funcionan las Cookies §Como funciona la encriptación §Como funciona el E-mail Un consejo que les doy a todos los que quieran buscar información sobre el Hacking es que visiten fuentes fiables ya que hay muchas páginas que reclaman a gente con el tema del Hacking pero son los visitantes los que son hackeados.


    Siguiendo con el tema
    PINBALL DE WINDOWS
    Algo para que se diviertan.....cuando jugamos pinball....Y perdemos y mas cuando estamos compitiendo con un amigo....Nos da rabia.
    para ahorrar esas molestias......
    1)entramos a pinball (incio,todos los programas,juegos,pinball.
    2)estanso en el digitamos la siguiente frase.
    en minusculas
    hidden test
    listo eso es todo saben que deben teclear el espacio entre hidden y test.
    3)podran mover la bolita o la ball con el mouse sosteniendo click izquierdo sobre la ball y muevela donde queras.

    Un regalito

    Aqui les presento un programita que sirve para ""monitorear nuestra pc""
    nombre : douglas
    funcion : registra las pulasciones de teclado relacionandolas con el evento respectivo.....asi que puedes tener las contraseñas....de alguien que ingreso al mail....o cualquier cosa...ademas puedes saber que hicieron en tu pc...que carpetas abrieron...los programas que ejecutaron....
    link de descarga: http://douglas.programas-gratis.net/descargar
    o buscalo en google como douglas 2.0
    Instalacion Y utilizacion:
    1) Lo descargas
    2) Lo extraes.....Creo que vien comprimido.
    3) Cuando lo extraes aparece un documento supuestamente en formato word cuyo nombre es Leame.....abrelo y ahi esta el manual de utilizacion.
    4) No es mas....cada vez que lo habras encontraras registros de todo lo que ha pasado..con fecha y hora...
    aqui les va la descripcion
    Douglas es una herramienta de monitorización y registro que se encarga de recoger toda la actividad que ocurre en tu PC a través del teclado. Este tipo de programas se denominan keyloggers, y funcionan almacenando cada pulsación de tecla que sucede en el teclado. Esa información se puede utilizar más tarde para analizar, confirmar o desmentir sospechas.
    De este keylogger Douglas podemos destacar las siguientes funciones:
    - El registro de pulsaciones es bastante detallado. Incluye el día y la hora exactas de la pulsación, el nombre del programa en la que ha ocurrido, y varios datos más.
    - Todos los datos que registre Douglas serán automáticamente protegidos mediante una contraseña.
    - El programa no puede ser desinstalado sin permiso o autorización.
    - Podemos indicar que Douglas arranque de forma automática con el inicio de Windows.
    - Como todo keylogger, Douglas es completamente invisible para el usuario del ordenador.
    - Envío automático de la información mediante FTP.
    - Podemos acceder de forma remota a la información mediante Recursos Compartidos.



    Introduccion A Mi Hacking

    NADA DE HACKING......SOLO MIS OPINIONES Y/O OBJETIVOS[​IMG] A qui comenzamos con un tema...que a muchos les interesa y en especial a los relacionados con la informatica.......jejeje....
    Bueno existen muchas maneras de hackear....ya sabes es como violar una ley,regla,o privacidad.pues hackear no solamente tiene que ver con software,puede ser hadware,o intelectual jaja no se si llegue a ese extremo.....hackear el pensamiento de alguien,pues si alguien sabe como comenzar que me lo comente aqui les dejo mi correo [email protected] espero con ansias una respuesta. bueno.
    volviendo al tema de hacking;yo creo que esta bien comenzar por la parte del software,ahora,no todo es facil debes ser paciente y analixar, algunos tardan mas otros menos,ahora no nos importa eso; nos importa llegar a nuestro objetivo.Esto es basico, si alguien sabe algo mas avanzado por favor me comunica a mi correo [email protected] ..... aqui vamos a aprender no a ofender,presumir tal vez pero sin ofender o con groserias serias.
    bueno espero que ustedes no sean asi.
    LISTO.....
    Sabes que hacking no solo es poder averiguar una contraseña con un programita.
    Aqui nos interesa poder tener el control sobre un software.....asi no sepamos la contraseña de asceso,con esto no digo que no vamos a hackear contraseñas pero nuestro objetivo es lo anterior.yo tambien aprendo de ustedes y talvez discutamos temas y nos concentraremos en resolverlo.
     
  2. Aguil@

    Aguil@ Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    10 Oct 2007
    Mensajes:
    14.337
    Me Gusta recibidos:
    38
    gracias viejo !