Comments (4)
Thanks for reporting! Fixed as part of b453844.
from frida-cycript.
@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.
@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.
@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)
- iOS 11 support HOT 1
- Cycript choose() HOT 4
- Error while npm install frida-compile
- Can't attach to some apps HOT 1
- Can't Replace Methods
- be a decent person and rename this to "frida-cycript" HOT 9
- global halts the repl HOT 1
- Implement RTLD_NEXT HOT 1
- Error while compiling with frida-core-devkit 14.2.13 HOT 1
- Cyc
- fcy is sigfaulting HOT 7
- Cant compile HOT 1
- Can I debug code in IDE?
- src/meson.build:168:2: ERROR: File cycript0.9 does not exist. HOT 2
- Tests failing & 'dirent.h' file not found HOT 1
- Cant Compile due to Module version mismatch & more HOT 1
- Can't complile
- I cannot compile this on 10.13 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frida-cycript.