uglyoldbob / decompiler Goto Github PK
View Code? Open in Web Editor NEWA decompiler targeting c and similar languages.
License: MIT License
A decompiler targeting c and similar languages.
License: MIT License
Would be good to start using c++14 language features.
gcov can be used to generate code coverage for this project
Hi,
I tried to build the code on Ubuntu 22.04.3 LTS.
First clone:
~/git$ git clone --recurse-submodules https://github.com/uglyoldbob/decompiler.git
Klone nach 'decompiler' …
remote: Enumerating objects: 1543, done.
remote: Counting objects: 100% (369/369), done.
remote: Compressing objects: 100% (267/267), done.
remote: Total 1543 (delta 197), reused 232 (delta 102), pack-reused 1174
Empfange Objekte: 100% (1543/1543), 920.41 KiB | 1.37 MiB/s, fertig.
Löse Unterschiede auf: 100% (1006/1006), fertig.
Submodul 'udis86' (https://github.com/vmt/udis86.git) für Pfad 'udis86' in die Konfiguration eingetragen.
Klone nach '/home/nicolas/git/decompiler/udis86' …
remote: Enumerating objects: 1951, done.
remote: Total 1951 (delta 0), reused 0 (delta 0), pack-reused 1951
Empfange Objekte: 100% (1951/1951), 1.44 MiB | 1.00 MiB/s, fertig.
Löse Unterschiede auf: 100% (1155/1155), fertig.
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Entpacke Objekte: 100% (4/4), 369 Bytes | 369.00 KiB/s, fertig.
Von https://github.com/vmt/udis86
* branch 5f9dcd5b8646564f24f5c0c066a2357dd6a18306 -> FETCH_HEAD
Submodul-Pfad 'udis86': '5f9dcd5b8646564f24f5c0c066a2357dd6a18306' ausgecheckt
Then cd
and mkdir
:
~/git$ cd decompiler/
~/git/decompiler$ mkdir build
~/git/decompiler$ cd build
And then configure:
~/git/decompiler/build$ ../configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU Objective C compiler... no
checking whether gcc accepts -g... no
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for strip... strip
checking for doxygen... doxygen
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
configure: "Building on linux"
configure: "Building for linux"
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Doxyfile
.in'ig.status: error: cannot find input file: `
I don't understand which file is missing here.
in your travis log file the secrets e.g. sonar.login
are shown. you have to keep them secret otherwise everybody has access to your accounts!
I randomly found your output as I was browsing this post: http://stackoverflow.com/questions/38375162/not-authorized-to-execute-any-sonarqube-analysis-with-sonarqube-scanner-on-travi
Modify classes so that they can operate in a more independent fashio
On step Run ../configure
Error raises:
checking for python... no configure: error: Python not found. Use --with-python to specify path to python binary
Obviously, build steps missing step about installing python. (Why everybody inserts python everywhere?)
For manual installation - it's not clear, which version to pick.
Because of different aclocal version I had to execute "autoreconf -vfi". This failed because udis is required. A " tar xfvz ../Download/udis86-1.7.2.tar.gz" solved this. But it should be included in the README.
The travis configuration should be updated to build the qt app(s)
Might be good to optionally use an sqlite database to track and manage the reverse engineering
When I download the binary https://github.com/rfalke/decompiler-subjects/blob/master/from_boomerang/hello/ia32_elf_by_boomerang/subject.exe
and then ran "./decompile32 subject.exe output" the decompiler will run and write a big file. I stopped it when the file was 5 GB. Looks like an infinite loop in the decompiler.
Hi!, I was trying to build the project, I tested mingw and cygwin, but was not able to build.it.
I append the msys2 logs (the mingw one)
The readme didn't mention which of the three executables (decompile16, decompile32, decompile64) one should use.
The decompilerXX binaries don't have a help text what parameters they expect.
Add some configuration and script data for a free fuzzer. peachfuzzer community is one such that comes to mind. I don't think it makes sense to run this from travis as it will probably have a long runtime.
A plugin system for expanding capabilities would be beneficial.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.