elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Macros interesantes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Macros interesantes  (Leído 2,959 veces)
YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Macros interesantes
« en: 24 Agosto 2009, 01:12 am »

En el siguiente post publicare macros que me parecieron interesante , no soy el autor si alguien conoce al autor original avisarme y lo colocare ;) .

Aplica un NOT a cada byte haciendo una cifrado .
Código
  1. macro encryptNOT dstart,dsize {
  2.    local ..char,..key,..shift
  3.    repeat dsize
  4.        load ..char from dstart+%-1
  5.        ..char = byte  not ..char
  6.        store ..char at dstart+%-1
  7.    end repeat
  8. }  
  9.  

Aplica un XOR a cada byte haciendo una cifrado .
Código
  1. macro crypt start,length,key {
  2.  local x,y,key_size,key_pos
  3.  virtual at 0
  4.    db key
  5.    key_size = $
  6.  end virtual
  7.  key_pos = 0
  8.  repeat length
  9.    load x from start+%-1
  10.    virtual at 0
  11.      db key
  12.      load y from key_pos
  13.    end virtual
  14.    x = x xor y
  15.    store x at start+%-1
  16.    key_pos = key_pos + 1
  17.    if key_pos >= key_size
  18.      key_pos = 0
  19.    end if
  20. end repeat
  21. }

Mas info : http://board.flatassembler.net/topic.php?t=8429
Código
  1. macro JCOND label,v1,c,v2
  2. {
  3. match any,c
  4. \{
  5.   cmp v1,v2
  6.   j\#c label
  7. \}
  8. match ,c
  9. \{
  10.   PARSECOND parsed@cond,v1
  11.   match cond,parsed@cond \\{ JCONDEXPR label,cond \\}
  12. \}
  13. }
  14.  
  15. macro   .for [args]
  16. {
  17. common
  18.  local ..for
  19.  local ..endfor
  20.  local ..continue
  21.  __FOR equ ..for
  22.  __ENDFOR equ ..endfor
  23.  __CONTINUE equ ..continue
  24.  
  25.  macro for_expr [argsa]
  26.  \{
  27.   cont = 1
  28.   if cont
  29.    match arg=+==val, argsa \\{
  30.    add arg, val
  31.    cont = 0\\}
  32.   end if
  33.   if cont
  34.    match arg=-==val, argsa \\{
  35.    sub arg, val
  36.    cont = 0\\}
  37.   end if
  38.   if cont
  39.    match arg=--, argsa \\{
  40.    dec arg
  41.    cont = 0\\}
  42.   end if
  43.   if cont
  44.    match arg=++, argsa \\{
  45.    inc arg
  46.    cont = 0\\}
  47.   end if
  48.   if cont
  49.    match arg=<<val, argsa \\{
  50.    shl arg, val
  51.    cont = 0\\}
  52.   end if
  53.   if cont
  54.    match arg=>>val, argsa \\{
  55.    shr arg, val
  56.    cont = 0\\}
  57.   end if
  58.   if cont
  59.    match arg=|==val, argsa \\{
  60.    or arg, val
  61.    cont = 0\\}
  62.   end if
  63.   if cont
  64.    match arg=&==val, argsa \\{
  65.    and arg, val
  66.    cont = 0\\}
  67.   end if
  68.   if cont
  69.    match arg=^==val, argsa \\{
  70.    xor arg, val
  71.    cont = 0\\}
  72.   end if
  73.   if cont
  74.    match arg==val, argsa \\{
  75.    mov arg, val
  76.    cont = 0\\}
  77.   end if
  78.  \}
  79.  
  80. define current args
  81.  
  82.  match =(a=:b=:c=), current
  83.  \{
  84.    for_expr a
  85.    JNCOND __ENDFOR, b
  86.  \}
  87.  __FOR:
  88.  
  89.  macro .break
  90.  \{
  91.    jmp __ENDFOR
  92.  \}
  93.  
  94.  macro .continue
  95.  \{
  96.    jmp __CONTINUE
  97.  \}
  98.  
  99.  macro .endf
  100.  \{
  101.    match =(a=:b=:c=), current
  102.    \\{
  103.      __CONTINUE:
  104.      for_expr c
  105.      JCOND __FOR, b
  106.      __ENDFOR:
  107.      restore __FOR
  108.      restore __ENDFOR
  109.      restore __CONTINUE
  110.      restore current
  111.    \\}
  112.  \}
  113. }
En construcción


« Última modificación: 24 Agosto 2009, 19:11 pm por YST » En línea



Yo le enseñe a Kayser a usar objetos en ASM
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Macros interesantes
« Respuesta #1 en: 25 Agosto 2009, 18:38 pm »

se ven interesantes, gracias YST ^^


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Libros interesanteS? « 1 2 3 »
Foro Libre
Stakewinner00 20 10,789 Último mensaje 29 Noviembre 2012, 04:20 am
por [u]nsigned
Primeros trucos interesantes de iOS 8
Noticias
wolfbcn 0 1,292 Último mensaje 18 Septiembre 2014, 21:36 pm
por wolfbcn
Libros interesantes « 1 2 3 4 »
Foro Libre
@synthesize 37 14,316 Último mensaje 13 Abril 2015, 10:04 am
por tessto
codigos interesantes
Java
+ 1 Oculto(s) 2 1,818 Último mensaje 19 Abril 2016, 04:07 am
por + 1 Oculto(s)
Ejercicios de Interesantes
Java
+ 1 Oculto(s) 4 2,679 Último mensaje 25 Junio 2016, 15:48 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines