All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.