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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [masm][pregunta]problema con variables
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [masm][pregunta]problema con variables  (Leído 7,707 veces)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
[masm][pregunta]problema con variables
« en: 2 Agosto 2014, 23:35 pm »

hola estoy leyendo un libro de masm y dentro de los codigos de ejemplo hay uno que no me funciona:

Código
  1. .386
  2. .model flat, stdcall
  3. option casemap:none
  4. assume fs:nothing
  5.  
  6. .code
  7. mivariable dd  0
  8. codigo:
  9. mov   [offset mivariable], eax
  10. retn
  11. nuevo dd ?
  12.  
  13. end codigo
  14.  

el error es :
Citar
error A2001: immediate operand not allowed

asi me funciona:

Código
  1. .386
  2. .model flat, stdcall
  3. option casemap:none
  4. assume fs:nothing
  5.  
  6. .data?
  7. mivariable dd 0
  8.  
  9. .code
  10. codigo:
  11. mov   [mivariable], 0
  12. retn
  13. nuevo dd ?
  14.  
  15. end codigo
en ese caso funciona perfectamente
porque no funciona esto?
 gracias de antemano


« Última modificación: 2 Agosto 2014, 23:47 pm por daryo » En línea

buenas
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #1 en: 2 Agosto 2014, 23:51 pm »

Ademas de que offset ahi no tiene sentido alguno el problema es que si mivariable esta en la sección .code es de solo lectura, si intentas escribir en ella se produce una excepcion.


« Última modificación: 2 Agosto 2014, 23:54 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #2 en: 2 Agosto 2014, 23:56 pm »

bueno raro que este asi pero cuando lo quito es igual
Código
  1.    .386
  2.    .model flat, stdcall
  3.    option casemap:none
  4.    assume fs:nothing
  5.  
  6.    .code
  7.    mivariable dd  0
  8.    codigo:
  9.    mov   [mivariable], eax
  10.    retn
  11.    nuevo dd ?
  12.  
  13.    end codigo
  14.  

si sirve de algo en el ollydbg me dice acces violation when writing[direccion ] cuando llega al mov
« Última modificación: 2 Agosto 2014, 23:57 pm por daryo » En línea

buenas
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #3 en: 2 Agosto 2014, 23:59 pm »

si sirve de algo en el ollydbg me dice acces violation when writing[direccion ] cuando llega al mov

Si, como te decia el codigo es read/only, si le haces un VirtualProtect y le das escritura funciona pero no tiene mucho sentido poner variables en el codigo igual.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #4 en: 3 Agosto 2014, 00:01 am »

mmm creo que lo tenia configurado para no solo fuera read/only revisare eso y si algo vuelvo por aca :)
En línea

buenas
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #5 en: 3 Agosto 2014, 00:03 am »

A menos que hagas algo con el linker por defecto la sección de codigo llamada .text tendra permisos de lectura y ejecucion, lo cual es logico.

Asi te funcionara tambien:
link x.obj /subsystem:console /section:.text,RW
« Última modificación: 3 Agosto 2014, 00:08 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: [masm][pregunta]problema con variables
« Respuesta #6 en: 3 Agosto 2014, 00:08 am »

Como te dijo @Eternal Idol no puedes escribir en la sección .text, y eso que quieres hacer no tiene sentido alguno, ni .data ni mucho menos en .text, haz un push eax y punto.

Un saludo.
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #7 en: 3 Agosto 2014, 00:14 am »

A menos que hagas algo con el linker por defecto la sección de codigo llamada .text tendra permisos de lectura y ejecucion, lo cual es logico.

Asi te funcionara tambien:
link x.obj /subsystem:console /section:.text,RW

si tenias razon no lo tenia con RW gracias solucionado
En línea

buenas
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.935


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: [masm][pregunta]problema con variables
« Respuesta #8 en: 3 Agosto 2014, 00:23 am »

De nadas  ::)

Igual si es para comprender el funcionamiento sirve mas alla de eso el codigo en si mismo no tiene ningun sentido (las variables no van junto al codigo y EAX es un valor indefinido a esa altura).
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: [masm][pregunta]problema con variables
« Respuesta #9 en: 3 Agosto 2014, 23:05 pm »

Hola! Yo cuando uso /ALIGN:4 la sección .text se puede escribir.. no se por que..  :rolleyes:

Saludos!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Pregunta]Declaraciones de variables DIM
Programación Visual Basic
TinchoHack 1 2,441 Último mensaje 23 Abril 2011, 20:34 pm
por Edu
[Pregunta] (C#) ¿Qué significan las variables 'e' y 'sender'?
.NET (C#, VB.NET, ASP)
Zodiak98 2 6,588 Último mensaje 13 Julio 2013, 05:13 am
por Eleкtro
problema con masm para 64bits
ASM
Belial & Grimoire 4 4,852 Último mensaje 8 Agosto 2013, 20:35 pm
por x64core
Ayuda! Problema con MASM Inline « 1 2 »
ASM
Vaagish 13 7,240 Último mensaje 30 Agosto 2013, 18:49 pm
por Eternal Idol
Problema winexec y rmdir MASM
ASM
.:UND3R:. 2 2,737 Último mensaje 26 Mayo 2014, 17:36 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines