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 - Yurix

#41
ASM / Re: [Problema] De buffer a variable
10 Julio 2009, 21:45 PM
----
Supongamos que declaro un buffer:
Código

Nombre rb 100

y al usar una API, ese buffer se llena pero no del todo. ¿Hay algún modo de "pasar" esa parte llenada a una variable directamente?
-----------

Haber si te explicas un poco mejor , tienes el buffer lleno y quieres "baciarlo" y copiarlo a otra variable?? Es eso

Es fácil , primero debes de saber que no se puede copiar de memoria a memoria (hasta donde se!) , primero debes de copiar un byte a cualquier registro del CPU con la capacidad de un byte , ejemplo AH o AL que pertenecen a EAX , después copias lo que tienes en estos registros hacia el espacio en memoria de la variable que esta "vacia" , al mismo tiempo tenes que comprobar si has llegado al fin del buffer , ej comprobando que los bytes que estas copiando son 00 hexa , en el caso que estés trabajando con strings que por ley terminan en 00 , si no estas trabajando con strings tienes que copiar lo que se encuentre dentro de un rango determinado , ej el tamaño de el Buffer e ir restando con cada operación de copia que hagas hasta llegar a 0 que es el fin del buffer.

SAludos








#42
ASM / AND XOR OR NOT (Explicación facil)
7 Julio 2009, 22:41 PM
Breve explicación sobre AND:
And es una multiplicación entre los bit destino y fuente
   0>0=0
   0>1=0
   1>0=0
   1>1=1

Se multiplican destino y fuente y retorna el resultado
----------------------------------------------------------
Breve explicación sobre XOR:
Para explicarlo de una forma simple y amena lo que hace XOR
es poner un 1 si hay un cambio ( es decir si el destino es
diferente de la fuente ) Si los dos son iguales entonces
es 0 el resultado , si son diferentes es 1

   0>0=0
   0>1=1
   1>0=1
   1>1=0

----------------------------------------------------------
Explicación sobre OR:
   
Devuelve un valor verdadero si cualquiera de las dos
expresiones es verdadera.

Es decir, si hay un valor 1 en cualquiera de los operados
el resultado es 1. Si los dos son 0 entonces el resultado es 0

En resumen : Es una suma .

----------------------------------------------------------
Explicación sobre NOT:
   
Not lo que hace es invertir el valor , es decir si es 0 pasa a ser 1
y si es 1 pasa a ser 0

0>1
1>0


Saludos y espero que sirva de algo.
#43
ASM / Re: ¿Que hace AND?
7 Julio 2009, 18:31 PM
Hola erik

Como trabaja AND :
Es muy facil.And lo que hace es multiplicar los bits por ejemplo si es

destino * fuente

0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Es muy fácil.




#44
ASM / Re: Empezando con ASM
30 Junio 2009, 19:58 PM
-------
si yo tengo esta variable definida
cuerpo db "Este es el Cuerpo",0

ahora quiero que cuerpo sea:
cuerpo="Este es el 56 cuerpo",0
-------

Que bueno que tocas este tema ya que igual que tu también lo tengo en mente , es cierto que si no reservas espacio en memoria para la string no puedes hacer nada .

Eternal dijo:
En este caso no podrías excepto que no te importara sobrescribir la memoria que le sigue (en este caso titulo) debido a que no reservaste suficiente espacio para la nueva cadena.

--- en estos momentos tengo en mente una forma para hacer ajustes en caso de que no reservemos memoria para nuestras strings , y que no consuma espacio en memoria innecesario , es decir , no reservar espacio de antemano , esperen el código que ya viene en camino , se los prometo .

Saludos





#45
Bravo  :o , según he leído en el foro este algoritmo es el mas rápido , felicidades poco a poco vamos ampliando el repertorio y compartiendo , felicidades , te invito a que lo publiques en la wikipedia , si lo deseas lo puedo hacer yo.

Saludos
#46
ASM / Re: [Duda]Problema de tamaños
25 Junio 2009, 18:14 PM
Gracias , así lo hago yo !!! ;D


Saludos y sigue así
#47
ASM / Re: Buscar una string dentro de otra!!!!
22 Junio 2009, 22:46 PM

Primero quiero acelerar un poco este código , trabajar con Word o Dwords para ir poco mas rápido , aunque si lo hago con Dwords tengo que pensar bien la forma .
#48
ASM / Re: Buscar una string dentro de otra!!!!
22 Junio 2009, 22:19 PM

Lo bueno para mi que tiene esto es que es 100% mio , no lo hice guiandome por nada.Aunque ya tengo mis escritos por ahi que tengo que revisar ya que los expertos son los expertos y esta gente tienen nombres de científicos volaos en la materia. Estas funciones son de uso general y de mucha utilidad , lo que mas me gusta es buscar con asteriscos alg* , me parece increíble como muchos (para no ser absoluto) editores de texto no traen esta opción para buscar texto .


Saludos desde Seubea


Si no quieren compilar pueden debugear el programa
http://sites.google.com/site/compactamos/descargas/ASM.zip?attredirects=0
#49
ASM / Re: Codigos de Yuri Grille
22 Junio 2009, 21:11 PM
A que te refieres cuando dices >

"De ese manera lo hago yo :P" ?
#50
ASM / Buscar una string dentro de otra!!!!
22 Junio 2009, 16:35 PM
Hola a todos , hoy buscar una string dentro de otra , esto es una de las cosas que me faltaban por hacer y esta es la forma que encontré :

En el caso de encontrarse la string buscada dentro de la más grande , el código devuelve ah con valor 0.
Devuelve en el registro ebx la posición en memoria donde se encontró . Se le puede agregar fácilmente la función de buscar
a partir de un determinado lugar , si ven algún problema escriban que solo llevo en esto 2 meses.
Código (asm) [Seleccionar]

xor ebx,ebx

mov ebp,offset buscar  ;; Esta es la string mas grande donde buscaremos.
mas:
mov edx,offset abuscar ;; Esta es la string que se buscara dentro de la más grande

denuevo:
mov ecx,ebp    ; Este código es para ir guardando la posición donde se encontró
mov al,byte ptr ds:[ebp]
mov ah,byte ptr ds:[edx]
inc ebp
cmp al,bl   ; Compara con 00
jz noes     ; Sale si no son iguales
cmp al,ah   ; Compara los primeros caracteres
jnz denuevo ; Vuelve si no son iguales ...
cmp ah,bl
jz elhasmer
;mov ecx,ebp

otra:
inc edx
mov al,byte ptr ds:[ebp]
mov ah,byte ptr ds:[edx]
inc ebp

cmp ax,bx
jz sis  ; Salta si se encuentra

cmp al,ah
jz otra

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cmp ah,2Ah ;;;;;;;;;;;;;;;;;
jz otra   ;;;;;;;;;;;Esta parte es para hacer búsquedas con asteriscos
;;;;;;;;;;;;;;;;;;;;;;;;;;;; Puede eliminarse

elhasmer:

cmp ah,bl
jz sis   ; Salta si se encuentra

cmp al,bl
jnz mas

;;; Devuelve en "AH" 00 si esta dentro de la string principal


--------
Con la busqueda con asteriscos el codigo nos permite buscar por ejemplo :

ho** mi nombr* es **** y programo en asm

Nota :: No introducir un * en el principio de la cadena a buscar ya que no lo programe para esa función y ademas atrasa la búsqueda y no tiene mucho sentido hacer búsquedas de esa forma.

Nota :: Desactivar la busqueda generica si se estan buscando contraseñas ya que seria muy facil penetrar en nuestro sistema con ******* , jajajajajajaj :xD


Creo que se puede optimizar ,esa tarea es para después porque  
cuando lo terminé tenía la cabeza caliente .Si alguien se anima a optimizarlo ,que me escriba.

Chao y saludos a todos los de este sub-foro que me han caído bien , parece que asm es un filtro anti trolls, jajaja.

Escriban!!!