Re: Rosetta and Code Injection
Re: Rosetta and Code Injection
- Subject: Re: Rosetta and Code Injection
- From: Bob Murphy <email@hidden>
- Date: Wed, 23 Apr 2008 21:18:04 -0700
When I launch Word, though, both ps -Ax and programmatic
diagnostics show only show Word itself, not anything that looks
like a separate Rosetta process.
There isn't a "separate Rosetta process". There is just an
instance of the Rosetta interpreter trying its best to look like
Word (in your case).
However, attempts to inject x86 code into the process reported as
Word result in immediate crashes.
So it appears to me there's more going on than just Rosetta being a
plain ol' x86 process interpreting some stuff on disk that happens to
be a PPC executable, and doing endian swapping and thunking system
calls and so on.
But I imagine that's part of the Rosetta "secret sauce" and not
something that can really be discussed outside of Apple and Transitive.
However, I feel I owe it to the people paying me to examine the
possibility that there is some official, Apple-supported way to
do code-inject a PPC executable running under Rosetta, or that
someone else has succeeded in doing this, before rushing off to
do what I consider a dubious hack. And I thought there might be
a faint chance that Apple might, for some odd reason, support
this by some means I hadn't considered.
No supported way (even if you weren't running under Rosetta).
<sigh> The story of my life.
I find that If I pick my challenges a little more carefully, I find
fewer disappointments. 8)
Nothing ventured, nothing gained. In addition to the disappointments,
there is the occasional real triumph.
p.s. If you're not patching the code dynamically at runtime, what
stops you from patching the PPC executable on-disk? Just a thought...
Alas, I am indeed patching the code dynamically at runtime. That's
how mach_star achieves under OS X what used to be done via INITs and
trap patches on 680x0 Macs.
- Bob
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden