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 - apuromafo CLS

#582
Ingeniería Inversa / Re: OllyDBG Registros
20 Diciembre 2012, 23:18 PM
esta iniciando, simplemente esta conociendo si lo que ve es un registro o algo mas

creo que es como se dice, hay varios registros, pero hay que saber interpretarlos con el tiempo

saludos Apuromafo
#583
Ingeniería Inversa / Re: OllyDBG Registros
20 Diciembre 2012, 19:36 PM
pues
digamos que ollydbg tiene una estructura
te sugiero leer con detalle esto y vuelvas a ver el mensaje

http://foro.elhacker.net/ingenieria_inversa/taller_de_cracking_desde_cero_actualizado_27julio2008-t180886.0.html


digamos que miras a tu derecha, estaran los registros,   si haces follow in dump, veras lo que esta en esa memoria..(bytes) direcciones

por ejemplo si dice
mov eax, 1,   no existe direccion 1, por ende es usado solo contador o algo

diferente es el caso que diga

mov eax, ebx,  movera a eax el valor de ebx,  digamos que vale 401000, si coloco follow in dump, en la parte inferior yo vere el valor que contiene 401000

ademas existen opciones de go to..y asi suma y sigue

saludos Apuromafo
#584
pink, yo bien te he visto en foros de tuts4you , supongo que pasado el tiempo habras encontrado ya las formas de encontrar y descifrar el RISC, o bien encontrar rutinas para darle bypass

el tema no es el bypass en si, sino la logica que debe hacer el programa

este es el ultimo tut de LCF
http://forum.tuts4you.com/topic/30172-themida-winlicense-hwid-cisc-risc-find-bypass-inline-tutorial/


saludos Apuromafo
#585
Ingeniería Inversa / Re: Crackme Themaposter
20 Diciembre 2012, 19:27 PM
como hay algo de tiempo lo acotar seria

1)  en la peticion de crackme para mi es una burla a la intelectualidad, a lo menos si te hubieses leido el faq, posiblemente que rato esta aplicacion estaria para tu uso personal


te lo digo de otra forma

pedir que te den un pescado , comeras un dia
saber perscar, y donde pescar  te hara comer pescado por toda la vida

mas o menos asi consiste el arte de ingenieria inversa segun comentaban en el pasado en las antiguas escuelas, ellos con imaginacion debian saber como se podria comportar un programa, actualmente hay programas que tienes casi todo expuesto, hasta en runtime(en ejecucion) y no necesitas crear casi nada a la imaginacion, solo entender, comparar y aprender.



saludos Apuromafo
#586
Ingeniería Inversa / Re: KeygenME en ASM por Flamer
20 Diciembre 2012, 19:24 PM
felicidades PeterPunk77, es genial ver que esten haciendo keygens ^^
#587
pues, estoy retirado de estar reversando, pero el apoyo o ideas jamas he parado

^^
ademas me gusta visitar este foro y algunos de requesting(peticion de crack), edite un poco el post para hacerlo mas legible

Saludos Apuromafo
#588
Ingeniería Inversa / Re: OllyDBG Registros
20 Diciembre 2012, 19:18 PM
no se que te estas leyendo, pero si fueras mas explicito seria mejor
pero si es para lo que creo, terminaras confirmando recien cuando entiendas la estructura de un exe o estructura cabezera MZ o PE header

te hare un alcance, depende del uso y del tamaño, y para que arquitectura buscas
http://es.scribd.com/doc/45774301/Arquitectura-x86-y-x64

http://es.wikipedia.org/wiki/Intel_8086_y_8088


segun esta mini idea que los registros pueden servir segun su arquitectura para
1) bandera, de acumuladores y otros

pero hare un ejemplo simple

mov eax,1  (mueve a eax, registro de 32 bytes,  RAX, se usa solo para acumular, mover contar etc)

cmp eax,1  (compara si el valor es 1, pero donde sabe el programa que es o no?), para esto usa temas de banderas, pero este comando no usara la bandera, sino el proximo
je lugar (comparando la bandera z, si es 0 o 1, este determinara si seguir o no al lugar)
cmp ah, 1  (lo mismo)
jne lugar

hay diferentes estructuras, digamos por ejemplo que hay 3 sistemas operativos principales
1) linux  (formato cabezera elf)
2) windows x86 (formato PE), windows x64 , archivos hechos en estructura .net
3)mac OSX o similares.

digamos que para esos casos el primer valor cambia segun la arquitectura, el tamaño permisos y otros, pero el principio es el mismo

sirven conforme puedan ser usados


digamos que tienes un programa que analiza de 2 formas(estatico y dinamico)

cuando abres un depurador tipo, lo mas probable es que comienza de forma estatica, pero, hay depuradores dinamicos que permiten dejar interrupciones o detenerce en cierto punto, a modo de obtener en ese lugar especifico (que colocamos el punto de interrepcion o breackpoint)  , todo dependera obviamente de que tema podemos estar hablando


un ejemplo cualquiera

abres ollydbg, estas en el entrypoint(donde estas ahora)..ahi comenzaste, ves los registros de eax, ebx, ecx y otros,   pero lo primero que puede estar pueden ser

1) saltos
2) push  lugar , que llevara a guardar registros en stack , o preparar el espacio para ejecutar las instrucciones


cuando los programas estan mal hechos o poseen bug, es muchas veces porque otorgan espacios reducidos o bien una instruccion pasa a llevar a otra , o bien los permisos de ciertas secciones estan mal dadas

principalmente ese es el uso basico de un depurador

ahora bien, te sugiero seguir leyendo, porque  digamos que  las diferencias(tu pregunta), las darà principalmente los comandos que vaas viendo


saludos Apuromafo
#590
te lo digo en palabras bonitas,
http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo-t345798.0.html


pero en palabras mas tipicas mias : digamos que hay varios  casos concretos

1) tenemos un exe que pesa 10kb, el crackeado pesa 200kb, digamos que puede ser un caso donde se "descomprimio",  esto suele pasar en juegos como alawar, (donde existen unwrappers"

2) caso 2, el programa original pesa 10kb  y el crackeado pesa 10kb, comparas CRC y es identico, comparas entre los 2 con un programa por ejemplo parchador "dup", diablo ultimate patcher, tenemos que se cambiaron por ejemplo 2 bytes,   74 a eb  eso honestamente no tiene sentido, ahora si te digo que hay una comparacion que dice si esta registrada o no lo esta, y se decide por una instruccion, pues ahi si tiene sentido

como se que aun no tienes ni idea de estos temas, te dejo un ejemplo en un video, solo miralo, antes y el despues
http://www.tusfiles.net/1ipt4hb8jv5l
(el autor de ese archivo gana dinero al ser bajado..se lalma generar link), pero la idea es que tengas claro..que hay programas que piden cosas..hay lugares donde dice algo.. hay comparaciones (en ese caso era un test al,al osea comparaba el registro de eax fuera cero, al parchar los saltos con NOP(que no hagan nada), fuerza a que vaya a ser comparado ahi..luego al mover un valor 1, (mov al,1), este programa al comparar se traga el registro, generando 1 valor en regedit, el cual decia name, al ingresar su nombre, este quedaba expuesto "registrado a su nombre"  ... si bien no es un buen ejemplo para entender, simplemente querias algo de demostrar..


3) digamos que tienes un exe de 10kb pero ahora pesa 8kb, esto tb puede ser un wrapping o bien que se le quito codigo y optimizo, esto suele ocurrir en varios tipos de programa


4)  digamos por ejemplo  ahora con juegos reales

digamos que tenemos el buscaminas, tienes tantos segndos... puedes

1) detener el tiempo
2) detectar las minas de las bombas
3) cambiar el puntaje
4) editar la entrada en regedit donde guarda cierta informacion
5) cambiar el archivo donde guardan los records

y asi suma y sigue, en los juegos ocurre algo parecido, ahora bien el tema de keygen es diferente, digamos que tu tienes un serial valido,  te pondre de ejemplo la compañia de adultpdf.com,  ellos tienen por ejemplo 10 programas de conversion de pdf, basta 1 serial valido, y saber donde compara, y vas generando un serial llave posible, que cumpla las condiciones pero hay varias cosas que pueden ocurrir en el keygen

1) genera claves segun patrones conocidos (algoritmo copiado)
2) genera patrones nuevos(algoritmos bruteforce)
3) genera claves totalmente random(algoritmos con matematica pura)
4) algoritmos muy simples, pero comprimidos o empacados con programas comerciales que lo hacen parecer dificil(casos de virtualizacion entre otros)..

ahora bien, se que esto te parecera como extraño, pero es la realidad,   cuando creas un crack para un programa o software, digamos que lo mas simple que hacen es analizarlo, buscar algun indicio hacia registrarlo o dejarlo funcional...

hay muchisimos ejemplos que te podria citar, pero no quiero matar tu curiosidad

solo te dire que es muy diferente la perspectiva para un juego que para un programa normal, aveces los juegos almacenan datos en sus servidores, por ende modifican variables en runtime "charles", entre otros "cheat engine", y asi suma y sigue,  pero en sofware, usan programas segun su programacion (usan para detectar peid, o escaners como RDG, y luego de tener una idea atacan segun su lenguaje, .net x86 entre otros)...puede que parezca un chiste, pero  digamos que un 99% de las aplicaciones que corren en windows pueden ser crackeadas, las otras 1% son programas que desconocen esos crackers y no estan crackeadas por eso mismo:::


saludos Apuromafo
pd:yo estoy retirado de la ing inversa, pero ahora tengo tiempo libre por lo menos por 2 meses, asi que dare una vuelta por este foro leyendo