Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Excuse me for bothering you. #1525

Open
typeofi opened this issue Dec 27, 2024 · 2 comments
Open

Excuse me for bothering you. #1525

typeofi opened this issue Dec 27, 2024 · 2 comments

Comments

@typeofi
Copy link

typeofi commented Dec 27, 2024

**sir, I am trying your old version of the code, something from the 0.14 world, and now there is a problem that it no longer works on the advanced Android version(14), is native crash。 What is the reason for this? Can you briefly tell me the direction of the problem? I mean elf soinfo got... 
I don't know where the problem lies with things like that,**

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x84ca8209
for (int i = 0; i < mcpelibhandle->phnum; i++) {
const Elf32_Phdr *phdr = mcpelibhandle->phdr + i;
if (phdr->p_type ==
PT_DYNAMIC) { // .got always comes after .dynamic in every Android lib I've seen
got = (void **) (((uintptr_t) mcpelibhandle->base) + phdr->p_vaddr + phdr->p_memsz);
break;
}
}

phnum is crash.

@zhuowei
Copy link
Owner

zhuowei commented Dec 27, 2024

Android 7.0 and above returns a random number for dlopen() if your app targets API v24 or above.
Later BlockLauncher versions temporarily lowers the API target back to 23 during dlopen() to avoid this:

static void* hacked_dlopen(const char *filename, int flag) {

@typeofi
Copy link
Author

typeofi commented Dec 27, 2024

Thank you for your prompt reply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants