Autor
|
Tema: [masm][pregunta]problema con variables (Leído 8,256 veces)
|
daryo
|
hola estoy leyendo un libro de masm y dentro de los codigos de ejemplo hay uno que no me funciona: .386 .model flat, stdcall option casemap:none assume fs:nothing .code mivariable dd 0 codigo: mov [offset mivariable], eax retn nuevo dd ? end codigo
el error es : error A2001: immediate operand not allowed asi me funciona: .386 .model flat, stdcall option casemap:none assume fs:nothing .data? mivariable dd 0 .code codigo: mov [mivariable], 0 retn nuevo dd ? 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
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
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
|
bueno raro que este asi pero cuando lo quito es igual .386 .model flat, stdcall option casemap:none assume fs:nothing .code mivariable dd 0 codigo: mov [mivariable], eax retn nuevo dd ? end codigo
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
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
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
|
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
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
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
Mensajes: 1.027
|
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
|
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
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
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
Mensajes: 875
|
Hola! Yo cuando uso /ALIGN:4 la sección .text se puede escribir.. no se por que.. Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Pregunta]Declaraciones de variables DIM
Programación Visual Basic
|
TinchoHack
|
1
|
2,594
|
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,958
|
13 Julio 2013, 05:13 am
por Eleкtro
|
|
|
problema con masm para 64bits
ASM
|
Belial & Grimoire
|
4
|
5,143
|
8 Agosto 2013, 20:35 pm
por x64core
|
|
|
Ayuda! Problema con MASM Inline
« 1 2 »
ASM
|
Vaagish
|
13
|
7,782
|
30 Agosto 2013, 18:49 pm
por Eternal Idol
|
|
|
Problema winexec y rmdir MASM
ASM
|
.:UND3R:.
|
2
|
2,970
|
26 Mayo 2014, 17:36 pm
por Eternal Idol
|
|