OpenSSH don't work with untouched system dylib (10.11)

Discussion in 'Mac / Hackintosh' started by platensesoul, Oct 8, 2015.

  1. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Hello people,

    After upgrading to El Capitan the method to crack openssh plugs without touching the original dylib doesn't work anymore. On Mavericks I managed to get it working doing this:

    1. Install plugin and change the dylib dependence with this command:

    install_name_tool -change /usr/lib/libstdc++.6.dylib /usr/lib/openssh++.6.dylib /Library/Audio/Plug-Ins/Components/Plug.component/Contents/MacOS/Plug

    2. Rename openssh dylib to openssh++.6.dylib and copy it to /usr/lib.

    This method works fine with Mavericks 10.9.5 and you also need to run this command to get it working on Logic Pro 9:

    install_name_tool -change /usr/lib/libstdc++.6.dylib /usr/lib/openssh++.6.dylib /Applications/Logic\ Pro.app/Contents/MacOS/Logic\ Pro

    (This last command is not necessary for Logic Pro X and Live because these two don't have the libstdc++.6.dylib dependence).

    But now on El Capitan this method only works with Logic Pro 9 and only works with Logic Pro X and Live after replacing the original dylib.

    Someone managed to make this work on El Capitan?
     
    • Like Like x 2
    • Interesting Interesting x 2
    • List
  2.  
  3. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Best Answer
    @artattack is the man!

    Now I have openssh plugs working on El Capitan without touching the original dylib in /usr/lib!

    I was doing it wrong. Replacing the binaries dependence from libstdc++.6.dylib to openssh++.6.dylib and copying openssh++.6.dylib to /usr/lib is a wrong procedure. Being a wrong procedure I don't know why was working on Mavericks. :dunno:

    Anyway. If you have the same problem please follow artattack's instructions in this post and you're done.

    If you follow the artattack's instructions closely the method will work. I will write a simpler explanation later.

    :wink:
     
    Last edited: Oct 9, 2015
  4. Snill

    Snill Kapellmeister

    Joined:
    Aug 26, 2015
    Messages:
    138
    Likes Received:
    72
    Location:
    Kabul
    Oh man, it's complicated for me. any easier way?
     
  5. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Maybe an easier explanation:

    1. Install the openssh plugin you want and change the dylib dependence with this command:

    install_name_tool -change /usr/lib/libstdc++.6.dylib /usr/lib/openssh++.6.dylib /Library/Audio/Plug-Ins/Components/Plug.component/Contents/MacOS/Plug

    Do that for every plugin or DAW containing that dependence. Look if a binary contain the dependence with this command:

    otool -L /Library/Audio/Plug-Ins/Components/Plug.component/Contents/MacOS/Plug

    Terminal will show a list of files which are all the dependencies. The file /usr/lib/libstdc++.6.dylib should be in the list.

    2. Let's do the openssh crack without modifying system files!

    2A. Download openssh dylib for your OS X version (10.10.4 should work on El Capitan), rename the downloaded file from libstdc++.6.0.9.dylib to openssh++.6.0.9.dylib and edit the file with an hex editor:

    Search /usr/lib/libstdc++.6.dylib and replace with /usr/lib/openssh++.6.dylib. Save the file.

    2B. Copy the edited dylib to '/usr/lib' directory. You can use a command like this:


    sudo cp /Users/platensesoul/Downloads/openssh++.6.0.9.dylib /usr/lib

    2C. After copying the openssh dylib to /usr/lib you need to make an alias of the file with this command:

    sudo ln -s /usr/lib/openssh++.6.0.9.dylib /usr/lib/openssh++.6.dylib

    2D. Replace the codesign of the openssh dylib:

    sudo codesign -f -s - /usr/lib/openssh++.6.0.9.dylib

    And that's all. This should work fine. Working on El Cap 10.11.0 (Logic Pro 9/X and Live).
     
    Last edited: Oct 9, 2015
    • Like Like x 6
    • Interesting Interesting x 1
    • Useful Useful x 1
    • List
  6. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    What is the downside to just replacing the dylib file on 10.11 with the k'ed one from before?
     
  7. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Replacing the original dylib with the openssh one can cause trouble with some apps like Reason, Audition, etc.

    Better keeping the /usr/lib directory vanilla.
     
  8. e-minor

    e-minor Platinum Record

    Joined:
    Jan 17, 2015
    Messages:
    531
    Likes Received:
    292
    Thank you for this. The only downside is opening every plugin.
     
  9. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    I see. So if I restore the 10.11 original version and then do all the commands in the post above, it will work the same as the k'ed version in Logic? But I guess I have to remember each one of those plugs that uses this and repeat for each one?
     
  10. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Yes. You can run the commands for the main openssh patch:

    sudo cp /Users/grdh20/Downloads/openssh++.6.0.9.dylib /usr/lib
    sudo ln -s /usr/lib/openssh++.6.0.9.dylib /usr/lib/openssh++.6.dylib
    sudo codesign -f -s - /usr/lib/openssh++.6.0.9.dylib

    Remember to edit the file openssh++.6.0.9.dylib with an hex editor before running the commands. Open the file in an hex editor and replace /usr/lib/libstdc++.6.dylib to /usr/lib/openssh++.6.dylib (there's two strings to be replaced) using "Find & Replace" (I'm using HexEdit):

    [​IMG]

    Then you can change the dependence on every plugin/DAW from /usr/lib/libstdc++.6.dylib to /usr/lib/openssh++.6.dylib.

    Example:

    install_name_tool -change /usr/lib/libstdc++.6.dylib /usr/lib/openssh++.6.dylib /Library/Audio/Plug-Ins/Components/Tube-Tech\ CL\ 1B.component/Contents/MacOS/Tube-Tech\ CL\ 1B

    and for Logic Pro 9 (Logic Pro X and Live don't need it):

    install_name_tool -change /usr/lib/libstdc++.6.dylib /usr/lib/openssh++.6.dylib /Applications/Logic\ Pro.app/Contents/MacOS/Logic\ Pro

    You know what binary you need to patch (replace dependence as above) by running this command:

    otool -L /path/to/binary

    If the list of files generated by this command shows "/usr/lib/libstdc++.6.dylib" then the plugin/DAW needs to be patched (of course only all the openssh plugins and the DAWs containing the dependence, for me it's only Logic Pro 9 and other people using Studio One said that they need to patch this DAW).

    NOTE: You need to have Xcode installed and SIP disabled.

    Good luck!
     
    Last edited: Oct 9, 2015
    • Interesting Interesting x 1
    • List
  11. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    Ok, so is the elaborated description doing this per plugin or the main usr/lib one. Mine is already k'ed. If I do your instructions above will I get Audition use back? I'm a little fuzzy on the basic intent of what I would be doing, but I do understand the terminal and hex stuff.
     
  12. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    Simply put the original dylib in /usr/lib and follow the steps in my previous post. Should work fine. Then tell me if it worked for you.
     
  13. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    I'll try. Does it matter what directory or sub directory you need to be in when running these various commands in Terminal. Should I run all of them from the usr/lib main directory?
     
  14. platensesoul

    platensesoul Member

    Joined:
    Feb 25, 2015
    Messages:
    24
    Likes Received:
    12
    If you specify the full directory in the commands there's no need to go to any directory in Terminal.
     
  15. zee

    zee Noisemaker

    Joined:
    Apr 24, 2015
    Messages:
    9
    Likes Received:
    5
    Thanks so much platensesoul! I was waiting for someone to post a clear way on how to do this..
    One question do you need to patch the DAW, i.e. Logic? or Pro Tools if using AU's via BlueCat Patchwork?
    Thanks so much!
     
  16. Grandy

    Grandy Member

    Joined:
    Jun 1, 2015
    Messages:
    97
    Likes Received:
    18
    maybe you should read carefully what platensesoul said. if you did, you would know that he said Logic 9 need it, X and Ableton dont.
     
  17. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    I'm usually pretty good with stuff like this but this is way over my head. I have no idea after reading this several time what this procedure is or how to do it. I'm afraid of messing things up at this point. That said I am having tons of issues with 10.11.1 and Logic X relating to Audio Units checking. Better than 10.11, but I really just hate El Capitan with a passion. Worst OS I have ever used. Oh well . . .
     
    Last edited: Oct 10, 2015
    • Interesting Interesting x 1
    • List
  18. grdh20

    grdh20 Platinum Record

    Joined:
    Jan 14, 2014
    Messages:
    665
    Likes Received:
    226
    I think I figured it all out and the otool says it is right, but the one I tried it on in LPX, Eventide-Blackhole says something like "contact manufacturer for an update" and won't run.

    otool:

    otool -L /Library/Audio/Plug-Ins/Components/Blackhole.component/Contents/MacOS/Blackhole
    /Library/Audio/Plug-Ins/Components/Blackhole.component/Contents/MacOS/Blackhole:
    /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
    /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreAudioKit.framework/Versions/A/CoreAudioKit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
    /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.6.2)
    /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit (compatibility version 1.0.0, current version 533.16.0)
    /usr/lib/openssh++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 830.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
    /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.29.0)
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 751.29.0)
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.32.0)
     
  19. Kookaboo

    Kookaboo Rock Star

    Joined:
    Jun 17, 2011
    Messages:
    1,456
    Likes Received:
    429
    Location:
    Here and there.
  20. Javier

    Javier Member

    Joined:
    Oct 15, 2015
    Messages:
    31
    Likes Received:
    7
    Before i say this is a awesome post :D im test Autotune 7.6.8 and work fine but testing Vocalign 4.2.2 with authentication issue :S any idea??? thanks in advance
     
  21. Javier

    Javier Member

    Joined:
    Oct 15, 2015
    Messages:
    31
    Likes Received:
    7
    my OS is 10.11.1 sorry jejeje
     
Loading...
Similar Threads - OpenSSH don't untouched Forum Date
Any way to get old openssh plugins to work in m1 native DAW? Software Mar 16, 2023
Openssh Big Sur Mac / Hackintosh Nov 19, 2022
McDSP Openssh on Logic Pro X Software Mar 4, 2022
openssh plugins in Reaper macOS Reaper Dec 4, 2020
Tutorial of installations openssh in Catalina osx Mac / Hackintosh Jun 30, 2020
Loading...