Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6907589
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T08:27:14+00:00 2026-05-27T08:27:14+00:00

This shouldn’t be that hard that one may think, if I got it right.

  • 0

This shouldn’t be that hard that one may think, if I got it right. Specifically, I’ll begin with iOS and the ELF executable format. Let’s clarify that I have a jailbroken iPhone and I don’t want to do this in any appstore apps, so pleas avoid “good advices” like “you can’t do it as it’s prohibited by Apple”.

So, what I have seen is that there’s a Flash player implementation, called Frash (by Comex btw, developer of recent jailbreaks). This utility requires, after installation, that Android’s libflashplayer.so is present (copied to) the iPhone file system. I digged into the source code and found out that the tweak actually opens the Android (ELF) shared object file, “parses” it and executes code from it. I already asked a friend of mine wheter it is or is not actually possible and he told me that it is, because ELF on ARM and Mach-O on ARM are binary compatible (because they’re both ARM). But he actually failed to explain it to me in detail, so I’d like to ask how can it be done? I can’t exactly understand the source code fragment that handles, but one thing is sure:

int fd = open("libflashplayer.so", O_RDONLY);
_assert(fd > 0);

fds_init();

sandbox_me();

int symtab_size;
Elf32_Sym *symtab;
void **init_array;
Elf32_Word init_array_size;
char *strtab;
TIME(base_load_elf(fd, &symtab, &symtab_size, &init_array, &init_array_size, &strtab));

// Call the init funcs
_assert(init_array);
while(init_array_size >= 4) {
    void (*x)() = *init_array++;
    notice("Calling %p", x);
    x();
    init_array_size -= 4;
}

(from the original code, as of 02/12/2011 on GitHub)

It seems to me that he uses libelf to perform this, right? And that in an ELF file there are symbols that can be executed on a compatible processor just fine?

I’d also like to know whether it is true for all other processor architectures? So maybe one can execute symbols from Linux binaries on OS X?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T08:27:15+00:00Added an answer on May 27, 2026 at 8:27 am

    The important thing about compatibility is the underlying processor architecture, not Linux vs. OS X vs. Android. If the ELF or .so are compiled for the same processor instruction set, then this can work. If not, then they are not compatible. For example, if both were built for Linux but different processors, they would not be compatible.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know this shouldn't be that hard, but I couldn't find the answer on
This shouldn't be so hard but I just can't seem to get this to
This really shouldn't be hard, I just can't figure out how to do it.
This shouldn't be hard...I have a menu and some content wrapped in a centered,
I'm sure this shouldn't be so hard! I've been struggling with facebook's javascript :
I know this shouldn't be as hard as I have found it to be,
OK, so I couldn't really think of an apropos title that summarizes this. The
This shouldn't be hard to do. I'd expect Enterprise Manager to show a folder
I think this shouldn't be a big problem, but I can't find the solution
Part of me thinks that this shouldn't be possible (even if it is), but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.