Code Monkey home page Code Monkey logo

Comments (4)

oleavr avatar oleavr commented on May 29, 2024

Thanks for reporting! Fixed as part of b453844.

from frida-cycript.

illnino avatar illnino commented on May 29, 2024

@oleavr It seems it is still not working.

➜  frida-cycript git:(master) ✗ make -j8
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
  CC       libcycript_la-ConvertUTF.lo
  CXX      libcycript_la-Decode.lo
  CXX      libcycript_la-Driver.lo
  CXX      libcycript_la-Error.lo
  CXX      libcycript_la-Highlight.lo
  CXX      libcycript_la-Library.lo
  CXX      libcycript_la-Output.lo
  CXX      libcycript_la-Replace.lo
  CXX      libcycript_la-Syntax.lo
./Filter.sh Parser.ypp.in >Parser.ypp C Java Ruby Python ObjectiveC
./Filter.sh Scanner.lpp.in >Scanner.lpp C Java Ruby Python ObjectiveC
  CXX      sig/libcycript_la-parse.lo
  CXX      sig/libcycript_la-copy.lo
  CXX      libcycript_la-Complete.lo
  CXX      libcycript_la-Execute.lo
  CXX      Java/libcycript_la-Execute.lo
  CXX      Ruby/libcycript_la-Execute.lo
  CXX      Python/libcycript_la-Execute.lo
  CXX      ObjectiveC/libcycript_la-Output.lo
  CXX      ObjectiveC/libcycript_la-Replace.lo
  CXX      Console.o
g++ -g -O2 -std=c++11  -DCY_JAVA=1 -DCY_PYTHON=1 -DCY_OBJECTIVEC=1 -I./extra -o Analyze Analyze.cpp Error.cpp Output.cpp Replace.cpp Syntax.cpp -rpath /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib -Wno-bitwise-op-parentheses -Wno-dangling-else -Wno-logical-op-parentheses
cd Class; jar cf ../libcycript.jar *
BISON_PKGDATADIR=../ext/toolchain/usr/share/bison ../ext/toolchain/usr/bin/bison-macos-x86_64 -v --report=state -Werror -o Parser.cpp Parser.ypp
/usr/bin/flex --full --ecs -o Scanner.cpp -T Scanner.lpp 2>Scanner.output || (grep -F 'Scanner.lpp:' Scanner.output; false)
perl -pi -e 's/yytranslate_ \(yylex \(/(yylex_ (/g' Parser.cpp
  CXX      libcycript_la-Parser.lo
  CXX      libcycript_la-Scanner.lo
Undefined symbols for architecture x86_64:
  "_clang_Type_getNamedType", referenced from:
      CYParseType(CXType, CYType*) in Analyze-a5374f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [Analyze] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

from frida-cycript.

oleavr avatar oleavr commented on May 29, 2024

@illnino Could you double-check that you have the latest stable version of Xcode? I've only tested the latest code on 8.3.2, and I won't be able to maintain support for older versions than the latest.

from frida-cycript.

illnino avatar illnino commented on May 29, 2024

@oleavr Thanks for the tips. It took me a while to upgrade the OS to 10.12 in order to install 8.3.2. But upgrading Xcode, compilation was successful, though I got an error, which is the same one referenced #5 .

➜  frida-cycript git:(master) make -j8
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
  CC       libcycript_la-ConvertUTF.lo
  CXX      libcycript_la-Decode.lo
  CXX      libcycript_la-Driver.lo
  CXX      libcycript_la-Error.lo
  CXX      libcycript_la-Highlight.lo
  CXX      libcycript_la-Library.lo
  CXX      libcycript_la-Output.lo
  CXX      libcycript_la-Replace.lo
  CXX      libcycript_la-Syntax.lo
./Filter.sh Parser.ypp.in >Parser.ypp C Java Ruby Python ObjectiveC
./Filter.sh Scanner.lpp.in >Scanner.lpp C Java Ruby Python ObjectiveC
  CXX      sig/libcycript_la-parse.lo
  CXX      sig/libcycript_la-copy.lo
  CXX      libcycript_la-Complete.lo
  CXX      libcycript_la-Execute.lo
  CXX      Java/libcycript_la-Execute.lo
  CXX      Ruby/libcycript_la-Execute.lo
  CXX      Python/libcycript_la-Execute.lo
  CXX      ObjectiveC/libcycript_la-Output.lo
  CXX      ObjectiveC/libcycript_la-Replace.lo
  CXX      Console.o
g++ -g -O2 -std=c++11  -DCY_JAVA=1 -DCY_PYTHON=1 -DCY_OBJECTIVEC=1 -I./extra -o Analyze Analyze.cpp Error.cpp Output.cpp Replace.cpp Syntax.cpp -rpath /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib -Wno-bitwise-op-parentheses -Wno-dangling-else -Wno-logical-op-parentheses
cd Class; jar cf ../libcycript.jar *
BISON_PKGDATADIR=../ext/toolchain/usr/share/bison ../ext/toolchain/usr/bin/bison-macos-x86_64 -v --report=state -Werror -o Parser.cpp Parser.ypp
/usr/bin/flex --full --ecs -o Scanner.cpp -T Scanner.lpp 2>Scanner.output || (grep -F 'Scanner.lpp:' Scanner.output; false)
perl -pi -e 's/yytranslate_ \(yylex \(/(yylex_ (/g' Parser.cpp
  CXX      libcycript_la-Parser.lo
  CXX      libcycript_la-Scanner.lo
./Analyze Analysis.cpp g++ -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fvisibility=hidden  -fobjc-exceptions -g -O2 -std=gnu++11 -Werror -Wno-deprecated-declarations -Wno-dangling-else -Wno-empty-body -Wno-overloaded-virtual -Wno-parentheses -Wno-tautological-undefined-compare -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -DCY_JAVA=1 -DCY_PYTHON=1 -DCY_OBJECTIVEC=1  >Bridge.def
  CXXLD    libcycript.la
ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame
cat ./Bridge.old >>Bridge.def
./libcycript.py 1 libcycript.db ../ext <Bridge.def
copying selected object files to avoid basename conflicts...
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt1-libcycript_la-Execute.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt2-libcycript_la-Execute.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt3-libcycript_la-Execute.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt1-libcycript_la-Execute.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt2-libcycript_la-Execute.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libcycript.a(lt3-libcycript_la-Execute.o) has no symbols
  CXXLD    cycript
make[2]: Nothing to be done for `all-am'.
➜  frida-cycript git:(master)

Usage problem

I expect frida-cycript will work as cycript. Therefore, I ran the same commands that would work in cycript. Unfortunately, most of the commands returned an error, except [[UIWindow keyWindow] recursiveDescription].

I wonder if it is a problem of compilation or incorrect usage of frida-cycript.

Non-workable

cy# UIApp.keyWindow.rootViewController.visibleViewController
throw new ReferenceError("identifier 'UIApp' undefined")
cy# [#0x100d936b0 nextResponder]
throw new Error("unrecognized selector nextResponder sent to object undefined")
cy# UIWindow
UIWindow
cy# choose(UIWindow)
throw new ReferenceError("identifier 'choose' undefined")
cy# ObjectiveC.classes
throw new Error("Unable to handle type undefined")
cy# Object
{}
cy# ObjectiveC
throw new Error("Unable to handle type undefined")

Workable command

cy# [[UIWindow keyWindow] recursiveDescription]

Environment

Mac 10.12
iPhone 6p 10.1.1 (Jailbroken)

Xcode 8.3.2
Frida 10.0.9
node 6.10.2

from frida-cycript.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.