From: "Maik Beckmann" <baegsch@linuxmail.org>
To: linux-assembly@vger.kernel.org
Subject: Re: ld unresolved symbols
Date: Fri, 07 Nov 2003 09:02:59 +0100 [thread overview]
Message-ID: <20031107080300.10442.qmail@linuxmail.org> (raw)
Hi, sorry i send the first mail only to you but not to this list.
Why do you call mprotect not by int $0x80?
----- Original Message -----
From: "Jason Roberts" <v3ct0r99@hotmail.com>
Date: Thu, 06 Nov 2003 19:21:44 +0000
To: linux-assembly@vger.kernel.org
Subject: ld unresolved symbols
>
> Hi all,
> I was trying to implement some smc--- someone Maik ? suggested using
> mprotect
> to get write acces to code seg. Anyways, nasm will assemble but linker
> complains:
>
> smc.o(.text+0x64): In function `protect':
> : undefined reference to `_mprotect'
>
> I compiled like this:
> nasm -f elf -i/usr/include/sys smc.asm
> ld -s smc.o
>
> any help would be appreciated...
> I dont want to wade through 85+ pages of dense reading to find the right
> 'switch' -- I do have a life besides code bashing:)
> Thanks
> JR
>
>
>
>
> section .data
>
> string db "normal execution",10,13,0
> hstring db "I am modified!",10,13,0
>
>
> section .text
>
> global _start
> extern _mprotect
>
> _start:
>
> jmp _test
>
> hacked:
>
>
>
> mov edx,17 ;length of buffer
> mov eax,4 ;sys_write
> mov ebx,1 ;file descriptor
> mov ecx,hstring ;buffer
>
> int 0x80
> jmp exit
>
>
>
> _test:
>
> call modify
> xor eax,eax ;this will be performed but ignored
> hack_me:
>
>
> mov edx,19 ;length of buffer
> mov eax,4 ;sys_write
> mov ebx,1 ;file descriptor
> mov ecx,string ;buffer
> int 0x80
>
> modify:
> mov edi, to_write ;load address of code-to-write in EDI
> push hack_me ;save address to write for mprotect
> call protect
> mov [hack_me], edi ;write code to location 'hack_me:'
> ret ;return from call
> to_write:
>
>
>
> jmp hacked
>
>
>
> protect:
> pop edi
> mov ecx,0x2 ;PROT_WRITE
> push ecx
> mov ecx,2048
> push ecx
> push edi
> call _mprotect
> ret
>
>
>
> exit:
>
> mov ebx,eax
> mov eax,1
> int 0x80
>
> _________________________________________________________________
> Send a QuickGreet with MSN Messenger
> http://www.msnmessenger-download.com/tracking/cdp_games
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
______________________________________________
Check out the latest SMS services @ http://www.linuxmail.org
This allows you to send and receive SMS through your mailbox.
Powered by Outblaze
next reply other threads:[~2003-11-07 8:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-07 8:02 Maik Beckmann [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-11-06 19:21 ld unresolved symbols Jason Roberts
2003-11-07 15:26 ` peter w krause
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20031107080300.10442.qmail@linuxmail.org \
--to=baegsch@linuxmail.org \
--cc=linux-assembly@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.