radareorg / iaito

Official QT frontend of radare2
GNU General Public License v3.0
968 stars 83 forks source link

iaito_5.9.2_m1.dmg is not working #170

Open a-levra opened 1 month ago

a-levra commented 1 month ago

Environment

Chip : Apple m2 pro OS : Sonoma 14.0

Description

I downloaded iaito_5.9.2_m1.dmg

On opening the downloaded .dmg file, i got :

Screenshot 2024-05-24 at 18 51 05
a-levra commented 1 month ago

The name of the release is also a bit confusing (unless this means it only supports m1 and no other chips). Maybe name it iaito_5.9.2_arm64.dmg, or even iaito_5.9.2_apple_silicon.dmg ?

trufae commented 1 month ago

Works for me. Do you have r2 installed? Try running it from the shell and see whats the error

a-levra commented 1 month ago

On Iaito 5.9.2 releases notes, there's :

Build from Source

curl -sL https://github.com/radareorg/iaito/releases/download/5.9.2/5.9.2.tar.gz | tar xzv
iaito-5.9.2/sys/install.sh 



But https://github.com/radareorg/iaito/releases/download/5.9.2/5.9.2.tar.gz does not seem to exist.

Here's what I tried :

git clone https://github.com/radareorg/iaito.git
cd iaito
./configure
make

the end of the build indicates : ld: warning: search path '/usr/local/opt/qt@5/lib' not found

even though I had qt@5 which seems to be installed :

brew install qt@5
[...]
Warning: qt@5 5.15.13_1 is already installed and up-to-date. 

And exported to path via : echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.profile Anyway, executing make run successfully launched Iaito, but the .dmg that was downloaded from the 5.9.2 release and mounted still had an issue (interesting enough, with a different error message):

 open /Volumes/iaito/iaito.app
The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10661 "(null)" UserInfo={_LSLine=4106, _LSFunction=_LSOpenStuffCallLocal}

Double-clicking on the .dmg made the following pop up :

Screenshot 2024-05-25 at 14 29 08

TLDR : It works via the Makefile, but still not via the .dmg

Kyle-Ye commented 2 weeks ago

The 5.9.2._m1.dmg can be unzipped and installed to my /Application/ folder.

But when I open it, it will crash due to some signature issue.

image

Env: macOS 14.5 (23F79)

Here is the script I use to re-codesign everything to workaround it.

#!/bin/bash

APP_PATH="/Applications/iaito.app"
IDENTITY="-"  # Replace "-" with your actual identity if needed

# Sign all the nested frameworks, libraries, and executables
find "$APP_PATH" -type f \( -name "*.dylib" -or -name "*.so" -or -name "*.framework" -or -perm +111 \) -exec codesign --deep --force --options=runtime --sign "$IDENTITY" {} \;

# Sign the main application bundle
codesign --deep --force --options=runtime --sign "$IDENTITY" "$APP_PATH"
trufae commented 2 weeks ago

Any idea how to run this script in the ci? I will probably need to push my key somewhere but its not clear to me the way to go

Kyle-Ye commented 2 weeks ago

Any idea how to run this script in the ci? I will probably need to push my key somewhere but its not clear to me the way to go

You can use GitHub secret to upload your p12 keychain. And then import it to your workflow.

Some article I found on the Internet may help you here.

Kyle-Ye commented 2 weeks ago

Any idea how to run this script in the ci?

BTW, What do you mean of running the script in the CI?

It is intended to be a temporary local re code sign solution to fix the upstream releasing bug.

If you are the author of the app and is working on a fix to it, there is probably some easier way to do it. (Properly code signing it right after building)

trufae commented 2 weeks ago

Thanks for pointing out the links, yes i'm the only maintainer and developer here, just busy so i appreciate you pointing to the link.i'll try to setup the proper signing in the CI before cutting a new release