Bienvenido, invitado ( Identificarse | Registrarse )

Assembly, 60 - Assembly
ailnlv
mensaje 05/02/2007 14:57
Publicado: #1
Novato++
**



Grupo: Lurker
Mensajes: 30
Registrado: 21/05/2006
País: Chile
Ranking : 321 º/ 84.53
Avance : 6.17 %
All Stars
Lenguajes Diseño WebSeguridadCrackingCriptografiaMixMisiones ImposiblesSistemas OperativosEsteganografíaIngenioCienciasLenguajes de Programación
Especialidad: Tu hermana
Rank: ON



Cuanto se supone que vale inicialmente "longitud"?
Lo tome como 4 (por Cool), pero como que ptr[edi+ebx+1] no tiene mucho sentido si vale 4.
Go to the top of the page
 
+Quote Post
 
Start new topic
Respuestas
Manuel
mensaje 03/03/2007 14:40
Publicado: #2
Novato
*



Grupo: Miembro
Mensajes: 17
Registrado: 02/04/2005
Desde: trgna
Ranking : 99 º/ 217.60
Avance : 15.88 %
All Stars
Lenguajes Diseño WebSeguridadIngeniería InversaCrackingCriptografiaLenguajes de ProgramaciónMixSistemas OperativosEsteganografía
Especialidad: romper makinas
Rank: ON



.data?
longitud dd ?
.data
login db "Cool",0
.code
mov edi,offset Login ; apunta a 'Cool' (primer caracter)
xor eax,eax ; EAX = 0
xor ebx,ebx
xor ecx,ecx
; las dos siguientes se pueden cambiar
mov ebx,offset longitud
mov ebx,dword ptr [ebx]
; por
mov ebx,longitud ; debe contener la longitud
;...
mov al,byte ptr[edi+ebx-1] ; apunta a 'Cool' + longitud - 1
; o sea al caracter ultimo de 'Cool'
mov cl,byte ptr[edi]

; AL = 'l'
; CL = 'C'

intenta compilarlo y lo trazas paso a paso...

Saludos.
Go to the top of the page
 
+Quote Post
ailnlv
mensaje 03/03/2007 20:01
Publicado: #3
Novato++
**



Grupo: Lurker
Mensajes: 30
Registrado: 21/05/2006
País: Chile
Ranking : 321 º/ 84.53
Avance : 6.17 %
All Stars
Lenguajes Diseño WebSeguridadCrackingCriptografiaMixMisiones ImposiblesSistemas OperativosEsteganografíaIngenioCienciasLenguajes de Programación
Especialidad: Tu hermana
Rank: ON



CITA(Manuel @ Mar 3 2007, 11:40 AM) *
.data?
longitud dd ?
.data
login db "Cool",0
.code
mov edi,offset Login ; apunta a 'Cool' (primer caracter)
xor eax,eax ; EAX = 0
xor ebx,ebx
xor ecx,ecx
; las dos siguientes se pueden cambiar
mov ebx,offset longitud
mov ebx,dword ptr [ebx]
; por
mov ebx,longitud ; debe contener la longitud
;...
mov al,byte ptr[edi+ebx-1] ; apunta a 'Cool' + longitud - 1
; o sea al caracter ultimo de 'Cool'
mov cl,byte ptr[edi]

; AL = 'l'
; CL = 'C'

intenta compilarlo y lo trazas paso a paso...

Saludos.

todo eso lo se, igual gracias. Lo "traduje" a c porque no me funciono en assembly (ni idea de por que no me compiló, me demore menos en "traducirlo que en pensar por que no funcionaba"), pero la pregunta es si especificamente longitud vale 4.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 usuario(s) está(n) leyendo esta discusión (2 invitado(s) y 0 usuario(s) anónimo(s))
0 miembro(s):

 

RSS Versión Lo-Fi Fecha y Hora actual: 25/11/2017 03:57