self modyfing code and GDT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies]     [Security]     [Linux C Programming]     [Linux for Hams]     [DCCP]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux