Hi.
1) I want to write self modyfing code. I'm using 125
finction (sys_mprotect )
.section .text
.global _start
_start:
nop
movl $125,%eax
movl $smc_address,%ebx
movl $4096,%ecx
movl $7,%edx
int $0x80
orl %eax, %eax
jnz .error # if something wrong
movl $0xaabbccdd,smc_address
movl $0x0000000000,%eax
.equ smc_address, .-4
# eax==0xaabbccdd
.error:
movl $1,%eax
movl $0,%ebx
int $0x80
but it doesn't work ( %eax=0 ).
Is there any other way by changing segment descriptor
in GDT ?, and how to do this ( i have no rights to
write it ).
2) How to read 8-bytes of segment descriptor, how to
get current segment selector and the same question
about task-state segment ( selector is easy to obtain
by 'str' instruction )
Thank You in advice for help
Lukas
____________________________________________________________________________________
Finding fabulous fares is fun.
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains.
http://farechase.yahoo.com/promo-generic-14795097
-
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to
majordomo@vger...
More majordomo info at
http://vger.kernel.org/majordomo-info.html
opensubscriber is not affiliated with the authors of this message nor responsible for its content.