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 : 331 º/ 94.00
Avance : 6.79 %
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 : 98 º/ 233.71
Avance : 16.89 %
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



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

 

RSS Versión Lo-Fi Fecha y Hora actual: 28/03/2024 09:11