• Martes 14 de Octubre de 2025, 18:12

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Kesar

Páginas: [1]
1
ASM (Ensamblador) / No Se Ensamblador, Necesito Ayuda!!!!
« en: Viernes 27 de Agosto de 2004, 17:52 »
Antes de nada, daros las gracias a todos por leer mi post e intentar ayudarme.

Mi problema es k nunca he programado en ensamblador y ahora necesito saber que es lo que hace la siguiente funcion, pero por mas que busco no doy encontrado el significado de las lineas de la misma.

¿Alguien podria traducirme a grandes rasgos las lineas mas complicadas? el resto ya lo intentare averiguar yo, gracias ... por cierto, solo es una parte del codigo que tengo, digo esto por si alguien pregunta porque esta incompleto.

Gracias otra vez

Código: Text
  1.  
  2. start:
  3.         mov  si,offset ParamStr
  4.         mov  dx,offset Usage
  5.         xor  ax,ax
  6.         lodsb
  7.         or   al,al
  8.         jz   ExitPrint
  9.         mov  cx,ax
  10.         mov  di,si
  11.         lodsb
  12.         repe scasb
  13.         jcxz ExitPrint
  14.         mov  dx,di
  15.         dec  dx
  16.         inc  cx
  17.         repne scasb
  18.         xor  ax,ax
  19.         dec  di
  20.         stosb
  21.  
  22.         mov  si,dx
  23.         call MD_decode
  24.         mov  dx,si
  25.  
  26. ExitPrint:
  27.         mov  ah,9
  28.         int  21h
  29.         ret
  30.  
  31. MD_decode  proc near
  32. ; In/Out: si -> string in asciz
  33.  
  34.         push si
  35.         xor  dx,dx
  36.         xor  cx,cx
  37.         mov  di,si
  38.         push offset MD_xlat2
  39.         mov  bx,offset MD_xlat1
  40. loop1:
  41.         xor  ax,ax
  42.         lodsb
  43.         or   al,al
  44.         jz   short exit
  45.  
  46.         xlat
  47.         cmp  al,'@'
  48.         jnb  short exit
  49.  
  50.         shl  dx,6
  51.         add  cl,6
  52.         or   dx,ax
  53.         cmp  cl,8
  54.         jb   short next
  55.         sub  cl,8
  56.         mov  ax,dx
  57.         shr  ax,cl
  58.  
  59.         mov  ah,cl &#59; save bx
  60.         mov  cx,bx &#59;
  61.  
  62.         pop  bx    
  63.         sub  al,[bx]
  64.         inc  bx    
  65.         push bx    
  66.  
  67.         mov  bx,cx &#59; restore bx
  68.         mov  cl,ah &#59;
  69.  
  70.         stosb
  71. next:
  72.         jmp short loop1
  73. exit:
  74. ;        xor  al,al
  75.         mov  al,'$'&#59; for this realisation
  76.         stosb
  77.         pop  bx
  78.         pop  si
  79.         retn
  80. MD_decode  endp
  81.  
  82.  

2
Perl / Traduccion De Codigo En Perl --- Expertos
« en: Viernes 27 de Agosto de 2004, 17:44 »
Hola a todos, yo soy programador web, pero no se programar en perl :(, y acaba de llegar esta funcion a mis manos y tengo k traducirla a javascript, por eso simplemente necesitaria que alguien me comentase el significado de las lineas que os marco con -------------------??, ya que creo k sabiendo el significado de esas lines yo podria entender la funcion y así podría pasarla a javascript,

Muchas gracias a todos  :)
Código: Text
  1.  
  2. sub decode{
  3.   $decoded = '';
  4.   $f = '';
  5.   ($y) = @_;    
  6.   use MIME::Base64; -------------------??
  7.   $decoded = decode_base64($y);
  8.   $a = unpack("H*",$decoded);-------------------??
  9.  
  10.   ## this is the offset hex table
  11.   ## this simple encryption just adds/subtracts a certain value
  12.   ## for each character.
  13.   @off = (54,68,65,20,73,65,74,75,70,20,70,72,'6f',63,65,'9f');-------------------??
  14.   $w = 0;
  15.   foreach $love (@off){-------------------??
  16.     $h = substr($a,$w,2);-------------------??
  17.     $d = hex $h;-------------------??
  18.     $l = hex $love;
  19.     $letter = $d - $l;  
  20.     $aa = pack("I*",$letter);-------------------??
  21.     $q =  substr($aa,0,1);
  22.     $f = $f.$q;
  23.     $w = $w + 2;
  24.   }
  25.   $f = substr($f,0,length($decoded));
  26.   return $f;
  27. }
  28.  

Páginas: [1]