Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 13:26

    uxmal on master

    Fix: RtlInstructionCluster Leng… Maintenance: small performance … (compare)

  • 08:43

    uxmal on master

    Fix: x86 instructions cannot be… Fix: crash in ELF 32-bit reloca… Refactor: X86 disassembler Rep… (compare)

  • Jun 15 08:13

    uxmal on master

    Feature: C parser enhancements … Fix: RiscV immediates RiscV im… Fix: make c2xml actually respec… (compare)

  • Jun 15 08:01

    uxmal on ran-regression-tests

    Fix: RiscV immediates RiscV im… Fix: make c2xml actually respec… (compare)

  • Jun 11 07:53

    uxmal on master

    (compare)

  • Jun 10 14:32

    ptomin on ran-regression-tests

    Update auto-generated ntoskrn.x… (compare)

  • Jun 10 14:11

    ptomin on ran-regression-tests

    Ran regression tests (compare)

  • Jun 09 21:53

    uxmal on master

    Feature: C parser enhancements … (compare)

  • Jun 09 07:40

    uxmal on master

    Fix: build break. (compare)

  • Jun 09 07:22

    uxmal on master

    Maintenance: code cleanup * mo… (compare)

  • Jun 07 14:15
    ptomin commented on ccf14ba
  • Jun 06 22:27

    uxmal on master

    Maintenance: Tuple -> ValueTupl… (compare)

  • Jun 06 20:08

    uxmal on master

    Feature: reify invalid constant… (compare)

  • Jun 06 16:09

    uxmal on master

    Fix: build break. (compare)

  • Jun 06 11:51

    uxmal on master

    Refactor: move MacOS interface … (compare)

  • Jun 06 11:33
    uxmal commented #1033
  • Jun 05 22:47
    uxmal closed #1044
  • Jun 05 17:23

    uxmal on master

    Maintenance: copy edit (compare)

  • Jun 05 13:06

    uxmal on master

    Maintenance: Copy editing (compare)

  • Jun 05 12:50

    uxmal on master

    Add documentation for Reko scri… Merge pull request #1052 from p… (compare)

John Källén
@uxmal
If you then use File > Save you will create a *.dcproject file that will remember the location you specified.
gbody
@gbody
@ptomin nice work
ptomin
@ptomin
You are wellcome, @gbody!
psxpetey
@psxpetey
hey boys I was suggested reko on stack overflow, I've found many disassemblers for mips and mips 64 but no decompilers with psuedo c does reko provide that? I just downloaded it quickly and it shows some assembly but no functions or pseudo c
John Källén
@uxmal
It should be able to decompile to pseudo C
How are you operating it? Using GUI or command line client?
The command client is invoked like this:
decompile <filename-of-binary>
In the GUI client, first open the file, then push the <Finish Decompilation button>
image.png
image.png
If you are seeing errors, consider making the binary available to us so we can debug it.
John Källén
@uxmal
psxpetey
@psxpetey
yes I'm doing all that here are a link to the binaries https://app.box.com/s/wf9rpvfj5ao5kqcg5p2akxkoyaxplz1v They are 64bit MIPS elfs. Linuxes readelf or objdump should provide you with details on the files. Addresses etc.
John Källén
@uxmal
thanks for the link. I will look at the files tomorrow (it's late night in my TZ)
psxpetey
@psxpetey
no worries let me know how it goes!
John Källén
@uxmal
Took a quick look. These are object files, and I haven't gotten around to making a linker for 64-bit binaries yet. I'll get cranking on it, probably have something in a few days
gbody
@gbody
nice round 9000 commits in master
John Källén
@uxmal
Going for 10000!
John Källén
@uxmal
@/all There is a live-coding session planned for 22.30 Central European Time, hosted here: https://www.youtube.com/watch?v=KQAWIOFAHD0 I will be showing how to add support for a new CPU architecture, and start the implementation of a disassembler.
Naleksuh
@Naleksuh
@uxmal Stop sending people random pointless emails
Oh wait nvm this is Reko
I should definitely watch this stream
John Källén
@uxmal
There will be another live-coding session today at 22.30 Central European Time, hosted here: https://youtu.be/ai5Umyc0GeU . I will be finishing up the disassembler started in the last session, and time permitting I will create a crude Gameboy image loader.
John Källén
@uxmal
A live stream on Reko's Register Transfer Language and condition code representation will start on Thursday at 22.30 Central European Time, hosted here: https://www.youtube.com/watch?v=LFtP_9G7V7E . Time permitting, we may even start work on the rewriting of Gameboy machine code instructions to Reko RTL.
gbody
@gbody
@uxmal I wonder if Error on Ubuntu #1042 is related to using the later version of .NET. Found .NET toolchain: /usr/bin/dotnet (version 5.0.203)
John Källén
@uxmal
The error is happening inside of CMake, though. The .NET binaries appear to be built fine, but as soon as the CMake pieces of the build start, it falls over
gbody
@gbody
I might have time to setup from scratch on the weekend and see if I run into trouble.
John Källén
@uxmal
that'd be greatly appreciated!
John Källén
@uxmal
I installed a VM from scratch, as detailed in https://github.com/uxmal/reko/issues/1042#issuecomment-850287481, and was able to build/run fine. I'm suspecting this is an issue on @triple01 's machine.
John Källén
@uxmal
Finishing the Gameboy rewriter: a live coding stream will start on Monday 22.30 Central European Time, hosted here https://youtu.be/K7UJzg8FEnQ . In this installment, we will implement the various addressing modes of the LR35902, which should conclude the implementation of the rewriter.
psxpetey
@psxpetey
ey guys did we ever get those mips object files implemented
John Källén
@uxmal
Yes, I have implemented them -- however, in doing so I discovered a flaw in how delay slots were being handled for MIPS, and I'm working on a fix for that. I can push what I have but the end results will be better once the delay slot issue has been addressed.
Ati Priya
@Atipriya
Hi
I am new to Reko. I am trying to get Reko's command-line client running on ubuntu. I downloaded the zipped cmdline driver and unpacked it. Added the directory to the path variable. And I do have mono installed.
When I try to run mono decompile.exe binary I get the below error:
Cannot open assembly 'decompile.exe': File does not contain a valid CIL image
When I try to run mono decompile binary I get the below error:
Cannot open assembly 'decompile': No such file or directory
I'm not sure how to get it running. Can someone please guide me on this?
Thanks!
John Källén
@uxmal
Hello @Atipriya : It seems the instructions are a little stale. You should be using dotnet to launch the Reko command line, not mono.
Give me a few minutes and I'll verify that the published binary is working as expected.
John Källén
@uxmal
I downloaded last night's build, of the cmdline for Ubuntu. I extracted the files, and ran both./decompile /usr/bin/ls and dotnet decompile.dll /usr/bin/ls. Both worked.
Make sure you have dotnet core 3.1 installed on your machine; instructions on how to do that are here: https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Ati Priya
@Atipriya
@uxmal Thank you for the quick response! dotnet decompile.dll binary worked.
John Källén
@uxmal
@psxpetey : the most recent commit (30fe5c72e86b93d) should work on your binaries. Please report any errors in the issue tracker.
psxpetey
@psxpetey
ok awesome ill take a look
DeptOfMeteors
@DeptOfMeteors
This is excellent, but I don't have a lot of experience w/assembly. Is there a guide on understanding the C output I'm looking at? Because lines like "Mem248[ds:_strlen(ds, fp - 0x0238) - 0x05 + (fp - 0x0238):byte] = Mem205[ds:_strlen(ds, fp - 0x0238) - 0x05 + (fp - 0x0238):byte] + bLoc04_1522;" is supposed to be C but it doesn't even look legal. And several of those names are never defined.
John Källén
@uxmal
Whenever you see constructs like Mem[ ....] it means that Reko failed to perform type analysis on the procedure you're looking at. Most likely because of errors earlier in the analysis.
Do you see any errors reported in the diagnostics output?
What you're seeing are fragments of the intermediate langue Reko uses internally as it builds "high-level" C from machine code.
DeptOfMeteors
@DeptOfMeteors
As a matter of fact I did, but not in _main(). They were in things like _write() and VPRINTER() and what not
John Källén
@uxmal
If an error occurs in one part of the program, it will typically cascade to other parts of the program.
is it possible to make the binary you're working with available to me so I can take a peek and see what's causing Reko to go off the rails?
DeptOfMeteors
@DeptOfMeteors
Sure... uh, you tell me. How do I do this? It's not private. It's a program that I made publicly available 25 years ago
John Källén
@uxmal
You can open a private chat with me here on Gitter and send me the file that way. Or upload it somewhere public and send me a URL