Aun asi me encantaria saber como lo hiciste
. (Creo que a todos)
Sa1uDoS
. (Creo que a todos)Sa1uDoS
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ú
. (Creo que a todos)Cita de: OmarHack en 24 Abril 2013, 18:00 PM
Lo que digo es una especie de conversor en el servidor para que el navegador pueda interpretarlo. Pero no conozco a fondo los navegadores, por eso tengo que saber mucho más.
.format coff
public function as '_function'
function:
push ebp
mov ebp, esp
xor eax, eax
xor edi, edi
mov ecx, 20
mov esi, [ebp+8]
do_hash:
lodsb ; ESI = addr clave
mul cl
rol al, 2
add di, ax
ror edi, 3
test al, al
loopne do_hash
xor eax, eax
cmp edi, 0x97D1CB0E
je bien
mov eax, 1
bien:
leave
ret
#include <stdio.h>
int function(char *cadena);
int main()
{
char cadena[8]="", retorno;
puts("Introduce la pass: ");
scanf("%7s", cadena);
retorno=function(cadena);
switch(retorno)
{
case 0:
puts("Bien!");
break;
case 1:
puts("Mal!");
break;
};
return 0;
}
.
. Tambien publicare el codigo, aunque lo unico interesante es basicamente la rutina del hash (y esta escrita en FASM xD).Cita de: x64Core en 18 Abril 2013, 22:19 PM
00402000 55 push ebp
00402001 89e5 mov ebp,esp
00402003 31c0 xor eax,eax
00402005 31ff xor edi,edi
00402007 b914000000 mov ecx,14h
0040200c 8b7508 mov esi,dword ptr [ebp+8]
0040200f ac lods byte ptr [esi]
00402010 f6e1 mul al,cl
00402012 c0c002 rol al,2
00402015 6601c7 add di,ax
00402018 c1cf03 ror edi,3
0040201b 84c0 test al,al
0040201d e0f0 loopne image00400000+0x200f (0040200f)
0040201f 31c0 xor eax,eax
00402021 81ff0ecbd197 cmp edi,97D1CB0Eh
00402027 7405 je image00400000+0x202e (0040202e)
00402029 b801000000 mov eax,1
0040202e c9 leave
0040202f c3 ret
.
.