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

Not working on iOS 12.1: Apps are crashing, SpringBoard in safe mode #60

Closed
markus0m opened this issue May 16, 2019 · 4 comments
Closed

Comments

@markus0m
Copy link

markus0m commented May 16, 2019

I can't seem to get the latest release to properly work with iOS 12.1
Apps initially seemed to just crash on accessing network data when the tweak was active.
Respring with the tweak active now always puts SpringBoard in safe mode.
So I have no way of disabling it through the Settings any more but can only re-/deinstall it.

I managed to fire a request from the App Store app with the tweak (probably) active but all I got in Charles was handshake_failure (40)

Any hints where I could start?
Does anyone have a working setup on 12.1?

@Ruegg
Copy link

Ruegg commented May 23, 2019

@markus0m Same here, any app will just crash upon making a request with me when SSLKillSwitch is toggled, and I'm on 12.1.2

@Tustin
Copy link

Tustin commented May 26, 2019

Same problem here. I even tried re-implementing the iOS 12 method using Frida but I didn't have much success. Not sure if I'm just doing something wrong as this was my first attempt at using Frida for scripting. If anyone wants to try messing with it then feel free:

note: For some reason, I couldn't find SSL_get_psk_identity in the symbols list so I just ignored it considering the blog post (which is awesome btw) stated that it only fixed the error on the first connection.

function main()
{
    var module = Process.getModuleByName('libboringssl.dylib');

    var symbols = module.enumerateSymbols();

    var SSL_get_psk_identity_pointer = null;
    var SSL_CTX_set_custom_verify_pointer = null;

    for (var i = 0; i < symbols.length; i++)
    {
        if (symbols[i]['name'] == 'SSL_get_psk_identity')
        {
            console.log('found SSL_get_psk_identity');
            SSL_get_psk_identity_pointer = symbols[i]['address'];
            break;
        }
        else if (symbols[i]['name'] == 'SSL_CTX_set_custom_verify')
        {
            console.log('found SSL_CTX_set_custom_verify');
            SSL_CTX_set_custom_verify_pointer = symbols[i]['address'];
            break;
        }
    }

    // if (SSL_get_psk_identity_pointer == null)
    // {
    //     console.log('ERROR: SSL_get_psk_identity address pointer not found!');
    //     return;
    // }
    if (SSL_CTX_set_custom_verify_pointer == null)
    {
        console.log('ERROR: SSL_CTX_set_custom_verify address pointer not found!');
        return;
    }

    const SSL_VERIFY_NONE = 0;
    
    var SSL_CTX_set_custom_verify = new NativeFunction(SSL_CTX_set_custom_verify_pointer, "void", ["pointer", "int", "pointer"]);
    var SSL_CTX_set_custom_verify_callback = new NativeCallback(function(ssl, out_alert) {
        console.log('called fake callback');
        return 0; // ssl_verify_ok
    }, "int", ["pointer", "pointer"]);

    Interceptor.replace(
        ptr(SSL_CTX_set_custom_verify_pointer),
        new NativeCallback(function(ctx, mode, callback) {
            console.log('hit');

            SSL_CTX_set_custom_verify(ctx, SSL_VERIFY_NONE, ptr(SSL_CTX_set_custom_verify_callback));
        },
    "void", ["pointer", "int", "pointer"]));

}

main();

@blunden
Copy link
Contributor

blunden commented Jul 20, 2019

It works fine for me on two different devices, one with iOS 12.1 and one with iOS 12.2. Both are jailbroken with the unc0ver jailbreak. Others with the same issue described here seemed to use the Chimera jailbreak which uses their own Mobile Substrate replacement called Substitute which can cause issues with some tweaks from what I've heard.

@nabla-c0d3
Copy link
Owner

Duplicate of #63

@nabla-c0d3 nabla-c0d3 marked this as a duplicate of #63 Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants