dumpdecrypted icon indicating copy to clipboard operation
dumpdecrypted copied to clipboard

Error: `Symbol not found`

Open mveytsman opened this issue 11 years ago • 2 comments

I'm getting the following error when I load the library

dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
  Referenced from: dumpdecrypted.dylib
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ___strlcpy_chk
  Referenced from: dumpdecrypted.dylib
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap: 5

I'm running XCode 5.1, iOS 7.1 SDK, and using an iPod Touch running iOS 6.1.5

Any suggestions?

mveytsman avatar Mar 18 '14 15:03 mveytsman

You need to install and compile with iOS6.1SDK if you're going to run on iOS6.1 :)

  1. Install SDK - good guide here: http://planetlotus.org/profiles/john-jardin_124302

  2. Apply this patch:

    diff --git a/Makefile b/Makefile
    index 537da37..0da2d9b 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -1,6 +1,6 @@
    -GCC_BIN=`xcrun --sdk iphoneos --find gcc`
    -GCC_UNIVERSAL=$(GCC_BASE) -arch armv7 -arch armv7s -arch arm64
    -SDK=`xcrun --sdk iphoneos --show-sdk-path`
    +GCC_BIN=`xcrun --sdk iphoneos6.1 --find gcc`
    +GCC_UNIVERSAL=$(GCC_BASE) -arch armv7 -arch armv7s
    +SDK=`xcrun --sdk iphoneos6.1 --show-sdk-path`
    
     CFLAGS =
     GCC_BASE = $(GCC_BIN) -Os $(CFLAGS) -Wimplicit -isysroot $(SDK) -F$(SDK)/System/Library/Frameworks -F$(SDK)/System/Library/PrivateFrameworks
    diff --git a/dumpdecrypted.c b/dumpdecrypted.c
    index 3313be2..f67619c 100644
    --- a/dumpdecrypted.c
    +++ b/dumpdecrypted.c
    @@ -73,7 +73,7 @@ void dumptofile(int argc, const char **argv, const char **envp, const char **app
            for (i=0; i<pvars->mh->ncmds; i++) {
                    /*printf("Load Command (%d): %08x\n", i, lc->cmd);*/
    
    -               if (lc->cmd == LC_ENCRYPTION_INFO || lc->cmd == LC_ENCRYPTION_INFO_64) {
    +               if (lc->cmd == LC_ENCRYPTION_INFO) {
                            eic = (struct encryption_info_command *)lc;
    
                            /* If this load command is present, but data is not crypted then exit */
    

arrtchiu avatar May 16 '14 15:05 arrtchiu

perfect!!!

Lobster-King avatar Mar 30 '16 03:03 Lobster-King