Giter Site home page Giter Site logo

guedou / r2m2 Goto Github PK

View Code? Open in Web Editor NEW
101.0 11.0 11.0 74 KB

radare2 + miasm2 = ♥

License: GNU Lesser General Public License v3.0

Makefile 3.36% C 9.99% Python 74.54% Shell 10.11% Dockerfile 1.99%
reverse-engineering radare2 radare2-plugin miasm2

r2m2's People

Contributors

guedou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

r2m2's Issues

Fix the docker example

After opening /bin/ls the architecture is switched to x86 by r2:

docker run --rm -it -e 'R2M2_ARCH=x86_64' guedou/r2m2
 -- Are you a wizard?
[0x00000000]> e~arch
anal.arch = r2m2
[..]
[0x00000000]> o /bin/ls
4
[0x0000487f]> e~arch
anal.arch = x86
[..]

Also, there is an OverflowError on the first call.

Error during the compilation

Dear developers,

Good morning. How are you?

Unfortunately, I haven't gotten correctly compiling the r2m2 as shown below:

root@ubuntu1:~/r2m2# make all install

python tools/gen_includes.py /usr/include/libr
python tools/cffi_miasm.py r2m2_ad
Traceback (most recent call last):
File "tools/cffi_miasm.py", line 31, in
ffi.embedding_api(includes)
File "/usr/local/lib/python2.7/dist-packages/cffi/api.py", line 110, in embedding_api
self._cdef(csource, packed=packed, dllexport=True)
File "/usr/local/lib/python2.7/dist-packages/cffi/api.py", line 121, in _cdef
self._parser.parse(csource, override=override, **options)
File "/usr/local/lib/python2.7/dist-packages/cffi/cparser.py", line 315, in parse
self._internal_parse(csource)
File "/usr/local/lib/python2.7/dist-packages/cffi/cparser.py", line 320, in _internal_parse
ast, macros, csource = self._parse(csource)
File "/usr/local/lib/python2.7/dist-packages/cffi/cparser.py", line 278, in _parse
self.convert_pycparser_error(e, csource)
File "/usr/local/lib/python2.7/dist-packages/cffi/cparser.py", line 307, in convert_pycparser_error
*raise CDefError(msg)
cffi.error.CDefError: cannot parse "RBuffer buf_inc;"
:14:2: before: RBuffer
Makefile:47: recipe for target 'miasm_embedded_r2m2_ad.c' failed
make: *** [miasm_embedded_r2m2_ad.c] Error 1

This error occurs using Ubuntu 16.04.1 and Kali Linux 2018. The same error also happen when I tried do build the docker using "docker build -t guedou/r2m2 .". All requirements (radare2, miasm, cffi, pycparser and jinja2) are installed.

Additionally, I've tried changing the cffi and pycparser versions, but I've gotten the same error.

I hope you have an amazing day.

Alexandre.

r2m2 arch not present yet

docker run -v "$(pwd)":/home/r2m2 --rm -it -e 'R2M2_ARCH=x86_64' guedou/r2m2 bash

[r2m2@90280a71d3a6 ~]$ rasm2 -L | grep r2m2
[r2m2@90280a71d3a6 ~]$

Current r2m2 roadmap

From highest to lowest priority:

  • Travis: add OS X support
  • build and publish a docker image on https://hub.docker.com
  • create an asciinema video
  • improve the README
  • update the docker hub description
  • create a demo VM on https://dply.co/
  • add examples/
  • add a Python only r2 ad plugin into examples/
  • remove docker pull in Dply script
  • add a link to https://guedou.github.io + fix miasm link
  • add support for calling conventions
  • cache the miasm Machine object
  • miasm_asm(): asm then dis to compare the result
  • move Python code into a dedicated Python module
  • add a requirements.txt file and use pip
  • install using r2pm
  • better miasm2 expressions type checking in Ae
  • detect dependencies with make
  • log into r2m2.log & use the R2M2_LOG env variable
  • support user-defined Python module
  • use brew on OS X
  • push the docker image from Travis

SH4 disassembly issue

SH4 architecture does not have expected miasm2 features (getpc(), getsp(), dis_engine(), ...)

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.