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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Adicionar valores a una variable con ollyscript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Adicionar valores a una variable con ollyscript  (Leído 3,289 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Adicionar valores a una variable con ollyscript
« en: 20 Octubre 2011, 03:28 am »

pues eso, como puedo ir adicionando valores me explico

tengo 3 valores

A B y C

como puedo hacer para que una variable vaya adicionando esos 3 valores

VAR AUX

que AUX sea A luego AB y luego ABC

No sé si se entienda bien mi duda jeje

Saludos y gracias
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Adicionar valores a una variable con ollyscript
« Respuesta #1 en: 20 Octubre 2011, 04:16 am »

Supongo que sería concatenar los valores, o me equivoco?


Operador &: Utilizado para concatenar texto o símbolos. Es necesario para lograr que el ensamblador sustituya un parámetro dentro de una cadena de caracteres o como parte de un símbolo:
Código
  1. SALUDO      MACRO  c
  2.   MOV    AL,"&c"
  3. etiqueta&c: CALL   imprimir
  4.   ENDM
  5.  

Al ejecutar SALUDO A se producirá la siguiente expansión:
Código
  1. MOV    AL,"A"
  2. etiquetaA:  CALL   imprimir
  3.  
Si no se hubiera colocado el & se hubiera expandido como,
Código
  1. MOV AL,"c"
En línea

Te vendería mi talento por poder dormir tranquilo.
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Adicionar valores a una variable con ollyscript
« Respuesta #2 en: 20 Octubre 2011, 19:45 pm »

Depende del tamaño del tipo de dato que quieras mover.

Tengo una var Buffer de tipo DWORD.

Y quiero moverle un WORD, BYTE, BYTE. En Ese orden.
Siendo que:
WORD = 1234h
BYTE = 56h
BYTE = 78h

Y deseo obtener: EAX = 12345678h.

Código
  1. xor eax, eax; está demás
  2. mov eax, 1234h ; EAX = 00001234h
  3. shl eax, 16; EAX = 12340000h
  4.  
  5. mov ah, 56h; EAX = 12345600h
  6. mov al, 78h; EAX = 12345678h
  7.  
  8. mov [Buffer], eax

Es un ejemplo para que entiendas cómo puedes almancenar y ordenarlas de la forma que quieras, NO es un ejemplo de como mover constantes XD, que para eso el código de arriba no es para nada eficiente, jeje.

Nox.
« Última modificación: 20 Octubre 2011, 19:48 pm por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Adicionar valores a una variable con ollyscript
« Respuesta #3 en: 21 Octubre 2011, 02:34 am »

Muchas gracias nox, de todas formas encontré otra forma y es utilizar ALLOC creo un address en memoria virtual ahí introdujo los datos y voy incrementando en uno el address y moviendo ahí los datos quedando todo junto, jeje luego terminado el script lo quito con FREE, lo utilicé para KEYGEN de crackme edu que lo adjunté en el tutorial

Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Adicionar valores a una variable con ollyscript
« Respuesta #4 en: 21 Octubre 2011, 04:58 am »

Muchas gracias nox, de todas formas encontré otra forma y es utilizar ALLOC creo un address en memoria virtual ahí introdujo los datos y voy incrementando en uno el address y moviendo ahí los datos quedando todo junto, jeje luego terminado el script lo quito con FREE, lo utilicé para KEYGEN de crackme edu que lo adjunté en el tutorial

Saludos

Claro si no me equivoco esa macro también está disponible en masm, aunque para el lenguaje yo haría un..

Buffer db 225 dup (?)

Código
  1. xor esi, esi
  2. lea ebx, Buffer
  3. mov byte ptr [ebx + esi * 1], 10h
  4. inc esi
  5. mov byte ptr [ebx + esi * 1] 20h
  6. ;[...]

Siendo EBX: La Base Address, ESI: El índice, "* 1": la escala.

o algo más facil.
Código
  1. xor esi, esi
  2.  
  3. mov byte ptr Buffer:[esi * 1], 10h
  4. inc esi
  5. mov byte ptr Buffer:[esi * 1] 20h
  6. ;[...]

Son cosas que se me olvidó mencionar, y te lo dejo porseacaso.

En fin..

Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines