plum-umd / redexer

The Redexer binary instrumentation framework for Dalvik bytecode
http://www.cs.umd.edu/projects/PL/redexer/
Other
164 stars 33 forks source link

Make fail with can't find SHA library #21

Closed fashioncj closed 8 years ago

fashioncj commented 8 years ago

I follow the readme.md but when i make i find those error:

ocamlbuild -cflag -dsource -use-ocamlfind main.native


$ opam list

Installed packages for system:

base-bigarray base Bigarray library distributed with the OCaml compiler base-threads base Threads library distributed with the OCaml compiler base-unix base Unix library distributed with the OCaml compiler ocamlfind 1.5.6 A library manager for OCaml sha 1.9 Binding to the SHA cryptographic functions


$ ocamlfind list bigarray (version: [distributed with Ocaml]) camlp4 (version: [distributed with Ocaml]) camlp4.exceptiontracer (version: [distributed with Ocaml]) camlp4.extend (version: [distributed with Ocaml]) camlp4.foldgenerator (version: [distributed with Ocaml]) camlp4.fulllib (version: [distributed with Ocaml]) camlp4.gramlib (version: [distributed with Ocaml]) camlp4.lib (version: [distributed with Ocaml]) camlp4.listcomprehension (version: [distributed with Ocaml]) camlp4.locationstripper (version: [distributed with Ocaml]) camlp4.macro (version: [distributed with Ocaml]) camlp4.mapgenerator (version: [distributed with Ocaml]) camlp4.metagenerator (version: [distributed with Ocaml]) camlp4.profiler (version: [distributed with Ocaml]) camlp4.quotations (version: [distributed with Ocaml]) camlp4.quotations.o (version: [distributed with Ocaml]) camlp4.quotations.r (version: [distributed with Ocaml]) camlp4.tracer (version: [distributed with Ocaml]) compiler-libs (version: [distributed with Ocaml]) compiler-libs.bytecomp (version: [distributed with Ocaml]) compiler-libs.common (version: [distributed with Ocaml]) compiler-libs.optcomp (version: [distributed with Ocaml]) compiler-libs.toplevel (version: [distributed with Ocaml]) dynlink (version: [distributed with Ocaml]) findlib (version: 1.4) graphics (version: [distributed with Ocaml]) labltk (version: [distributed with Ocaml]) num (version: [distributed with Ocaml]) num-top (version: 1.4) num.core (version: [internal]) oasis (version: 0.3.0) oasis.base (version: 0.3.0) oasis.builtin-plugins (version: 0.3.0) oasis.cli (version: 0.3.0) oasis.dynrun (version: 0.3.0) ocamlbuild (version: [distributed with Ocaml]) odn (version: 0.0.11) odn.with (version: n/a) odn.with.syntax (version: 0.0.11) odn.without (version: n/a) odn.without.syntax (version: 0.0.11) pcre (version: 7.0.4) plugin-loader (version: 0.3.0) stdlib (version: [distributed with Ocaml]) str (version: [distributed with Ocaml]) threads (version: [distributed with Ocaml]) threads.posix (version: [internal]) threads.vm (version: [internal]) type_conv (version: 109.28.00) unix (version: [distributed with Ocaml]) userconf (version: 0.3.0)

kmicinski commented 8 years ago

Disregard my previous comment.

You have the sha package installed via OPAM. But your OCamlFind isn't listing it. This is likely because you have OPAM installed, but your OCaml installation isn't talking to OPAM.

Do you have OCaml installed via OPAM? If so, can you try an opam switch to setup the environment variables to point to the installed OPAM packages?

My ocamlfind list shows I have sha installed. I believe once you fix this you should be good to go.

On Dec 20, 2015 10:31 AM, "Jia Chen" notifications@github.com wrote:

I follow the readmemd but when i make i find those error:

ocamlbuild -cflag -dsource -use-ocamlfind mainnative

  • ocamlfind ocamldep -package sha,str,unix,ppx_derivingstd,ppx_deriving_yojson -modules src/mainml > src/mainmldepends ocamlfind: Package `sha' not found Command exited with code 2 Compilation unsuccessful after building 1 target (0 cached) in 00:00:00 make: *\ [mainnative] error 10 --- $ opam list # Installed packages for system: base-bigarray base Bigarray library distributed with the OCaml compiler base-threads base Threads library distributed with the OCaml compiler base-unix base Unix library distributed with the OCaml compiler ocamlfind 156 A library manager for OCaml sha 19 Binding to the SHA cryptographic functions

$ ocamlfind list bigarray (version: [distributed with Ocaml]) camlp4 (version: [distributed with Ocaml]) camlp4exceptiontracer (version: [distributed with Ocaml]) camlp4extend (version: [distributed with Ocaml]) camlp4foldgenerator (version: [distributed with Ocaml]) camlp4fulllib (version: [distributed with Ocaml]) camlp4gramlib (version: [distributed with Ocaml]) camlp4lib (version: [distributed with Ocaml]) camlp4listcomprehension (version: [distributed with Ocaml]) camlp4locationstripper (version: [distributed with Ocaml]) camlp4macro (version: [distributed with Ocaml]) camlp4mapgenerator (version: [distributed with Ocaml]) camlp4metagenerator (version: [distributed with Ocaml]) camlp4profiler (version: [distributed with Ocaml]) camlp4quotations (version: [distributed with Ocaml]) camlp4quotationso (version: [distributed with Ocaml]) camlp4quotationsr (version: [distributed with Ocaml]) camlp4tracer (version: [distributed with Ocaml]) compiler-libs (version: [distributed with Ocaml]) compiler-libsbytecomp (version: [distributed with Ocaml]) compiler-libscommon (version: [distributed with Ocaml]) compiler-libsoptcomp (version: [distributed with Ocaml]) compiler-libstoplevel (version: [distributed with Ocaml]) dynlink (version: [distributed with Ocaml]) findlib (version: 14) graphics (version: [distributed with Ocaml]) labltk (version: [distributed with Ocaml]) num (version: [distributed with Ocaml]) num-top (version: 14) numcore (version: [internal]) oasis (version: 030) oasisbase (version: 030) oasisbuiltin-plugins (version: 030) oasiscli (version: 030) oasisdynrun (version: 030) ocamlbuild (version: [distributed with Ocaml]) odn (version: 0011) odnwith (version: n/a) odnwithsyntax (version: 0011) odnwithout (version: n/a) odnwithoutsyntax (version: 0011) pcre (version: 704) plugin-loader (version: 030) stdlib (version: [distributed with Ocaml]) str (version: [distributed with Ocaml]) threads (version: [distributed with Ocaml]) threadsposix (version: [internal]) threadsvm (version: [internal]) type_conv (version: 1092800) unix (version: [distributed with Ocaml]) userconf (version: 030)

— Reply to this email directly or view it on GitHub https://github.com/plum-umd/redexer/issues/21.

fashioncj commented 8 years ago

@kmicinski i fix it by reinstall ocaml though LUNCHPAD ppa and fix it. Now this project also need: opam install ppx_deriving opam install ppx_deriving_yojson

by the way,when i use the '$ ruby scripts/cmd.rb target.apk --cmd directed',it always say '/home/fashioncj/redex/redexer/scripts/apk.rb:120:in directed': wrong number of arguments (1 for 0) (ArgumentError) from scripts/cmd.rb:261:in

' ', i use the apktool in tools files which version is 2.0.0

kmicinski commented 8 years ago

Thanks for following up.

I added documentation to the Redexer README to note that it now requires ppx_deriving and the deriving yojson extension.

The directed command is a bug. I'm not sure what the status of the directed execution framework is, since I didn't write that tool, but I'll assign myself to fix the scripts so you can at least try to use it.

fashioncj commented 8 years ago

i run ruby version is 1.9.3, is the ruby version error?

kmicinski commented 8 years ago

No, it was just a naive bug in the scripts that I messed up at one point when I added some extra functionality.

Commit 027f93d fixes this issue.

fashioncj commented 8 years ago

@kmicinski I merge the code, and success run it. Thanks

fashioncj commented 8 years ago

@kmicinski i find the output is different from the paper of brahmastra. is 'directed' complate the static part of the brahmastra?

kmicinski commented 8 years ago

That question I cannot answer, as I was not an author of that paper, nor did I write the code. @jsjeon was, however.

jsjeon commented 8 years ago

@fashioncj Could you open a new, separate issue for that, along with more detailed explanations?

fashioncj commented 8 years ago

@jsjeon Ok.