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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Codigos de Yuri Grille
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 [6] Ir Abajo Respuesta Imprimir
Autor Tema: Codigos de Yuri Grille  (Leído 40,153 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Convertir a hexadecimal !!!
« Respuesta #50 en: 12 Agosto 2009, 13:11 pm »

Si, efectivamente puede ser un ELF o ELF64 y se mantiene el mismo principio.

Genial, gracias idol :)


En línea

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
El falg P !!!
« Respuesta #51 en: 14 Agosto 2009, 18:06 pm »

Esto fue sacado de mi nuevo blog que no hace falta mencionar (EI).

El falg P !!!

Desde mi discreto punto de vista tengo informado que el flag (P) indica la paridad en cuanto a que el  resultado tiene un numero par de bits no cuando el numero es par que ya eso es otra cosa.

“P (Paridad) Se pone a uno, cuando se efectúa una operación cuyo resultado contiene un número par de bits con el valor 1. “

Tutorial de Caos Reptante

Veamos un ejemplo:

El flag se activa cuando al realizar una operación el resultado tiene una cantidad de 1 pares >>> (#15 es 1111) .Si una operación da 15 (en decimal , en hexadecimal es F)  el flag de “paridad” se debe activar ya que tiene en “binario” una cantidad de 1 que son pares , en este caso son 4 , pero si te guías  por esta “paridad” estas mal ya que el 15 no es par.

. Eso mismo pensé yo ,pero una persona (un viejo que programo hace mucho) me corrigió el error y me dijo :

“la paridad de un numero te la da el bit menos significativo” , es decir el bit (cero , el que esta más  a la derecha ) debe ser (cero) para que sea par.

Aquí el ejemplo de un # par:
>>> (14h es 1110) << Flag P 0
>>> (30h es 11110)  << Flag P 1
>>> (46h es 101110)  << Flag P 1

Todos son números pares pero “no siempre el flag P se activa con los números pares” , lo que me j*de es que le pongan “flag de paridad” y en realidad no tenga nada que ver con lo que uno se imagina (demandare a *ntel)  jajaja

Conclusión el flag P es la paridad “bitial” no numeral.

Para estar 100% seguros.:

Abre cualquier programa en Olly y ponle (inc eax) a las 20 primeras instrucciones, ahora ve corriendo una a y fíjate en el flag P . Veras que no siempre se activa en los números pares o impares (numéricamente) , si realmente fuera un flag que indicara paridad en los números ,  se activara y desactivara con cada operación ya que consecutivamente los números son (desde 0) pares e impares ,pares e impares hasta el infinito y más allá …
Nota>
En el texto use una palabra nueva “Bitial” , su significado es “en cuanto a bits” . Cualquier duda puede usted dejar un comentario


« Última modificación: 14 Agosto 2009, 18:20 pm por Eternal Idol » En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: El falg P !!!
« Respuesta #52 en: 14 Agosto 2009, 18:19 pm »

"In x86 processors, the parity flag reflects the parity only of the least significant byte of the result, and is set if the number of ones is even."

http://en.wikipedia.org/wiki/Parity_flag
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Un metodo de ordenamiento
« Respuesta #53 en: 17 Agosto 2009, 20:48 pm »

Hola , como muchos saben existen muchos métodos de ordenar caracteres, números etc, de diferentes formas , condiciones , hay tantas formas de ordenar algo como distribuciones de linux hay en internet . Cada una de estas formas tienen su nombre y rapidez diferente, una muy conocida es Quick Sort (estará bien escrito?) , ahora la que les voy a mostrar hoy me llego a la cabeza cuando leía la lista de métodos de ordenamiento y es una forma simple, “rápida” (eso espero , tengo que probarla ) . Le he llamado Ordenamiento Grille , como cuando descubres un cráter nuevo en la luna , pero como no tengo telescopio y la luna ya está llena de nombres pues le pongo mi apellido a esta forma de ordenar caracteres.  :xD

Aunque no está implementado este método nos da la posibilidad de poder ordenar un conjunto de datos grande sin tener que cargarlo completamente en memoria ,esto puede ser útil en archivos grandes.

No me queda más nada por decirles , solo que es libre para usarlo bajo las condiciones de la  GPL  :-)
Primero necesitamos la longitud de los datos que ordenaremos. Este dato estará en ECX y EDX , usaremos un loop para ordenar empezando por el final Tendremos una Variable “vacía” con una longitud (en este caso de 4 bytes por cada byte ASCII) .
Es decir 256*4 = 1024 bytes , esto nos da la posibilidad de ordenar hasta (si fuera “necesario”) 4.294.967.295 bytes de datos (pequeño numero  ;D )
Esto puede “incluso” aumentarse para ordenar mas … o menos …
.
Código
  1. tabla db 1024 dup (?)
  2. datos db “hola que tal”,0
  3. mov ecx,12 ; << Longitud de los datos en decimal
  4. mov edx,ecx ; << Longitud de los datos
  5. ordenamiento:
  6. mov al,[datos - 1 + ecx]
  7. inc dword ptr ds:[tabla + eax * 4]
  8. loop ordenamiento
  9. mov al, 0
  10. ciclo:
  11. mov ecx , dword ptr ds:[tabla + eax * 4]
  12. cmp ecx,0 ; Cuando sea Cero , saltamos ya que este caracter no existe!
  13. jz salto
  14.  
; En el caso que usted sepa que existen todos los caracteres puede eliminar esta parte.
; Ma adelante tal vez implemente una forma para detectar esto y hacer todo mas rápido?¿ (hay que probar!)

Código
  1. aun:
  2. mov byte ptr ds:[datos - 1 + edx],al
  3. dec edx
  4. loop aun
  5. salto:
  6. dec al
  7. jnz ciclo

« Última modificación: 17 Agosto 2009, 23:15 pm por YST » En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Invertir un Byte
« Respuesta #54 en: 25 Septiembre 2009, 17:13 pm »



Invertir un Byte. Eso , invertir un byte , por ahí andan formas de hacerlo (en C++ ..) pero siempre trato de hacer lo mio propio y compartirlo con todo aquel que quiera aprender junto a mi este difícil arte.Y Siempre recuerda que no hay nada mejor que aprender usando OLLY

1) Si usted tiene alguna duda no dude en preguntarme . Con mucho gusto aclaro lo que he hecho.
2) No copie y pegue .
3) Y recuerde quien es el author.  ;D
4) Disfrútalo

EJ>> 10010  << 12 hex
      > 01001  << 9  hex

El Byte a invertir esta en EAX , especificamente en AL.

mov ecx,8

giros:
ror al,1
shl ax,1
shr al,1
loop giros

xchg al,ah

Hasta la próxima.
En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Invertir un Byte
« Respuesta #55 en: 25 Septiembre 2009, 18:02 pm »

No se si lo he entendido muy bien...

Pero no seria lo mismo que esto?
Código:
        mov     al, 8
        not     al
:huh:
En línea

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: Invertir un Byte
« Respuesta #56 en: 25 Septiembre 2009, 18:22 pm »

Hola , no es lo mismo que hacer un NOT
Este codigo lo que hace es darle la vuelta como a una tortilla .

Ej 00011 >>> 11000


Si haces un not en el caso de 00011 el resultado es 11100

Mira aqui sobre NOT>
http://foro.elhacker.net/asm/codigos_de_yuri_grille-t257809.0.html;msg1266079#msg1266079
En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Invertir un Byte
« Respuesta #57 en: 27 Septiembre 2009, 13:53 pm »

No se si lo he entendido muy bien...

Pero no seria lo mismo que esto?
Código:
        mov     al, 8
        not     al
:huh:

Taba pensando lo mismo, pero es verdad, juas.
En línea

Páginas: 1 2 3 4 5 [6] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines