Tags: engineering reverse 

Rating: 5.0

$ file riskv_and_reward
riskv_and_reward: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), statically linked, stripped

$ readelf -h riskv_and_reward
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           <unknown>: 0xf3
  Version:                           0x1
  Entry point address:               0x121c8
  Start of program headers:          64 (bytes into file)
  Start of section headers:          16688 (bytes into file)
  Flags:                             0x4
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         3
  Size of section headers:           64 (bytes)
  Number of section headers:         13
  Section header string table index: 12

File says its RISC-V, readelf says its machine: uknown. Checking wikipedia says 0xf3 is risc-v.

And... we can't launch it, since it is different arch. With some googling we've found: https://github.com/riscv/riscv-qemu

And so we launched it with docker:
$ sudo docker run --privileged -v /home:/home -it sorear/fedora-riscv-wip
[root@4950793c6382 /]# cd /home/dc
[root@4950793c6382 dc]# ./riskv_and_reward