List Info

Thread: execve-type memory-based function, possible?




execve-type memory-based function, possible?
user name
2006-10-23 09:19:58
Hi!

I've recently been toying with methods for copy-protection
and other 
esoteric subjects, for academic and hobby purposes, and I
haven't found 
much info on this subject.

I want to see if it's possible (from userspace) to load and
execute an 
ELF-binary based on a memory-buffer, i.e. load, relocate,
etcetera (then 
execute) a program that's stored in memory.

I can't find any readily available options, I've toyed a bit
with shmem 
(to get an fd) and fexecve, but haven't gotten far. I've
briefly looked 
at the execve-code in the kernel.

So I'm curious; does anyone have any experience or
suggestions on this 
subject? Is it at all possible to do the operations via
usermode? I've 
toyed with creating copy-protection-schemes and binary
packers and such 
under Win32, where it's possible, but I have no experience
on the 
subject under Linux (or found any documentation on anyone
else doing so).

Any papers, links, source-file-references etcetera would be
appreciated. 

-- 
Kindest regards / Med vennlig hilsen,
  Jørgen P. Tjernø
  <jorgendevsoft.no>
-
To unsubscribe from this list: send the line
"unsubscribe linux-c-programming" in
the body of a message to majordomovger.kernel.org
More majordomo info at  http://vge
r.kernel.org/majordomo-info.html
execve-type memory-based function, possible?
user name
2006-10-23 10:20:12
Jørgen P. Tjernø wrote:
 > [ .. a lot of stuff .. ]

It might've been a bit unclear, so here goes:

I'm thinking something like if you read the contents of the
file 
"/bin/ls" into a buffer, and then want to execute
that.
Wouldn't that require that you allocate the memory, do
relocation, set 
the correct memory page protection (to execute for code,
etc), etcetera?

-- 
Kindest regards / Med vennlig hilsen,
  Jørgen P. Tjernø
  <jorgendevsoft.no>
-
To unsubscribe from this list: send the line
"unsubscribe linux-c-programming" in
the body of a message to majordomovger.kernel.org
More majordomo info at  http://vge
r.kernel.org/majordomo-info.html
execve-type memory-based function, possible?
user name
2006-10-23 11:33:32
On 10/23/06, "Jørgen P. Tjernø" <jorgendevsoft.no> wrote:
> Jørgen P. Tjernø wrote:
>  > [ .. a lot of stuff .. ]
>
> It might've been a bit unclear, so here goes:
>
> I'm thinking something like if you read the contents of
the file
> "/bin/ls" into a buffer, and then want to
execute that.
> Wouldn't that require that you allocate the memory, do
relocation, set
> the correct memory page protection (to execute for
code, etc), etcetera?

Jørgen,

(now I got it)  Looks like you'd want to implement some kind
of
userland exec.  In this case the following archive will be
useful:
htt
p://www.graegert.com/code/ul_exec-v1.1.tar.gz.  Although
quite
dated it illustrates basic concepts.

If you have questions about the code or the general
approach, feel
free to contact me privately.

	Steve

--

Steve Grägert <stevegraegert.com>
Jabber    xmpp://graegertsjabber.org
Internet  http://eth0.graegert.com
, http://blog.graegert.com
-
To unsubscribe from this list: send the line
"unsubscribe linux-c-programming" in
the body of a message to majordomovger.kernel.org
More majordomo info at  http://vge
r.kernel.org/majordomo-info.html
[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )