rizinorg / rz-silhouette

Rizin client plugin for the Rizin Silhouette Server
8 stars 2 forks source link

librz_silhouette cause Cutter Segmentation fault #11

Open Chapoly1305 opened 3 weeks ago

Chapoly1305 commented 3 weeks ago

Environment information

Questions Answers
OS/arch/bits (mandatory) Windows 11, Ubuntu 22.04. Both x64
File format of the file you reverse (mandatory) ELF
Architecture/bits of the file (mandatory) AARCH64

Describe the bug After configure Silhouette, cutter will crash at analysis.

To Reproduce

Steps to reproduce the behavior:

  1. On Cutter, Edit > Preferences > Initialization Script
  2. Paste the following contents from Silhouette
    # Rizin Silhouette Server
    e silhouette.psk=19f5a8e7-9b4e-4f6a-83bc-6a7db5014c3d
    e silhouette.host=eu-symbols.rizin.re
    e silhouette.port=25000
    e silhouette.enable=true
  3. Save and exit Cutter
  4. Restart Cutter and attemp to analyze the target file with AA.
  5. Crash.

Expected behavior

  1. Silhouette shall run as introduced on website.
  2. Cutter shall not crash at error.

Additional context

  1. cutter_crash_1.log
  2. The issue seems only occur on processing the specific file, which could be provided privately.
wargio commented 3 weeks ago

Could you provide the sample? you can reach me on the telegram channel (deroad) or on mattermost (deroad)

wargio commented 2 weeks ago

Cannot reproduce using rizin on dev but it does crash on latest cutter release.

Chapoly1305 commented 2 weeks ago

@wargio Just found a method to replicate with public accessible project, libbotan. I tried libbotan 2 with gcc 7.5, and libbotan 3 with gcc 11, both crashed when using Cutter-v2.3.4-Linux-x86_64.AppImage. However, if build the cutter from source, then it does not crash.

wget https://botan.randombit.net/releases/Botan-2.19.5.tar.xz
tar xf Botan-2.19.5.tar.xz
cd Botan-2.19.5
./configure.py --disable-shared --cpu=x86_64 --os=linux --cc=gcc --with-endian=little --with-os-features=posix1 --with-debug-info --prefix=/path/to/botan/installation
make -j$(nproc)

No need to make install, just open the .a file with Cutter.

image

wargio commented 2 weeks ago

probably is a bug due something that has changed.