diff --git a/.SRCINFO b/.SRCINFO index 45f8e56..2ffb9c8 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,24 +1,37 @@ pkgbase = ida-pro-patched - pkgdesc = IDA - The Interactive Disassembler (Patched) - pkgver = 9.0.240925 - pkgrel = 3 + pkgdesc = Hex-Rays IDA Pro + pkgver = 9.1.250226 + pkgrel = 2 url = https://hex-rays.com/ida-pro/ arch = x86_64 license = custom makedepends = fakechroot - depends = python>=3 - depends = python<4 + depends = libgl + depends = libx11 + depends = libxext + depends = libxrender + depends = glib2 + depends = qt5-base + depends = python-rpyc + provides = ida-pro + conflicts = ida-pro options = !strip - source = ida-pro-9.0.240925.run::https://vaclive.party/software/ida-pro/releases/download/9.0.240925/ida-pro_90_x64linux.run - source = ida-pro-9.0.240925.run.sig::https://vaclive.party/software/ida-pro/releases/download/9.0.240925/ida-pro_90_x64linux.run.sig - source = patch.py::https://vaclive.party/software/ida-pro/releases/download/9.0.240925/keygen2.py - source = patch.py.sig::https://vaclive.party/software/ida-pro/releases/download/9.0.240925/keygen2.py.sig - source = ida-pro.desktop + source = ida-pro-9.1.250226.run::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/ida-pro_91_x64linux.run + source = ida-pro-9.1.250226.run.sig::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/ida-pro_91_x64linux.run.sig + source = patch.py::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/keygen.py + source = patch.py.sig::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/keygen.py.sig + source = com.hex-rays.ida.desktop + source = com.hex-rays.hvui.desktop + source = qwingraph.desktop + source = ida-pro.xml validpgpkeys = 09BE40243217978201A0440E101BA3F4C612AA41 - sha256sums = 159cf8983a0e7b199d6efab5af42eca31a288e7ef2ec44eba6336de4acb8107a + sha256sums = 8ff08022be3a0ef693a9e3ea01010d1356b26cfdcbbe7fdd68d01b3c9700f9e2 sha256sums = SKIP - sha256sums = da41a74453b5e4b6816c5ed1ad66c8c7a19684c48d23e083bda9d5149966616e + sha256sums = f1459fd512ac44d589f020ba71e0de20ebf8798df26f167db6fe4c087c7cd0d6 sha256sums = SKIP - sha256sums = 445e0498d24676cc81c1f9b81a30241eabd480852561f398e520e6e23d4b97bd + sha256sums = 9490296e773cda6b03d4bbfbd1e9a398756e074f3574cffdfb31e5d40b2f956d + sha256sums = 3010186d85f0ffc12da572be8688e3cfb5fb9b86ac7c4ec7284c4c9a17c17c14 + sha256sums = 1e4b2ec71111b102ecbfa78ec8d7f03506d5726a19d087b59c643572f4e50af6 + sha256sums = 58bb9f10b90bc6a7368629a5577852b4f21f8f44e9b2101b24b7f4fc87dff529 pkgname = ida-pro-patched diff --git a/.gitignore b/.gitignore index 9eeb704..b3cd2aa 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ !.gitignore !PKGBUILD !.SRCINFO -!ida-pro.desktop \ No newline at end of file +!*.desktop +!*.xml diff --git a/PKGBUILD b/PKGBUILD index 24caa76..022e1ce 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,50 +1,89 @@ # Maintainer: nezu@nezu.cc pkgname=ida-pro-patched _pkgname=ida-pro -pkgver=9.0.240925 -pkgrel=3 -pkgdesc="IDA - The Interactive Disassembler (Patched)" +pkgver=9.1.250226 +pkgrel=2 +pkgdesc="Hex-Rays IDA Pro" arch=('x86_64') url="https://hex-rays.com/ida-pro/" license=('custom') + makedepends=('fakechroot') -depends=('python>=3' 'python<4') +depends=( + 'libgl' + 'libx11' + 'libxext' + 'libxrender' + 'glib2' + 'qt5-base' + 'python-rpyc' +) +provides=("$_pkgname") +conflicts=("$_pkgname") + options=('!strip') _name="$_pkgname-$pkgver" _release_url="https://vaclive.party/software/$_pkgname/releases/download/$pkgver" source=( - "$_name.run::$_release_url/ida-pro_90_x64linux.run" - "$_name.run.sig::$_release_url/ida-pro_90_x64linux.run.sig" - "patch.py::$_release_url/keygen2.py" - "patch.py.sig::$_release_url/keygen2.py.sig" - "$_pkgname.desktop" + "$_name.run::$_release_url/ida-pro_91_x64linux.run" + "$_name.run.sig::$_release_url/ida-pro_91_x64linux.run.sig" + "patch.py::$_release_url/keygen.py" + "patch.py.sig::$_release_url/keygen.py.sig" + "com.hex-rays.ida.desktop" + "com.hex-rays.hvui.desktop" + "qwingraph.desktop" + "ida-pro.xml" ) -sha256sums=('159cf8983a0e7b199d6efab5af42eca31a288e7ef2ec44eba6336de4acb8107a' + +sha256sums=('8ff08022be3a0ef693a9e3ea01010d1356b26cfdcbbe7fdd68d01b3c9700f9e2' 'SKIP' - 'da41a74453b5e4b6816c5ed1ad66c8c7a19684c48d23e083bda9d5149966616e' + 'f1459fd512ac44d589f020ba71e0de20ebf8798df26f167db6fe4c087c7cd0d6' 'SKIP' - '445e0498d24676cc81c1f9b81a30241eabd480852561f398e520e6e23d4b97bd') + '9490296e773cda6b03d4bbfbd1e9a398756e074f3574cffdfb31e5d40b2f956d' + '3010186d85f0ffc12da572be8688e3cfb5fb9b86ac7c4ec7284c4c9a17c17c14' + '1e4b2ec71111b102ecbfa78ec8d7f03506d5726a19d087b59c643572f4e50af6' + '58bb9f10b90bc6a7368629a5577852b4f21f8f44e9b2101b24b7f4fc87dff529') validpgpkeys=('09BE40243217978201A0440E101BA3F4C612AA41') # nezu prepare() { - mkdir -p "$_name/tmp" - cp "$srcdir/$_name.run" "$_name" - chmod +x "$_name/$_name.run" - fakechroot chroot "$srcdir/$_name" "/$_name.run" --mode unattended --unattendedmodeui none --prefix /opt/$_name - cd "$_name/opt/$_name" - python3 "$srcdir/patch.py" - mv -v libida32.so.patched libida32.so - mv -v libida.so.patched libida.so - rm uninstall* Uninstall* + mkdir -p "$_name/tmp" + + # chroot is needed to prevent the installer from creating a single file outside of prefix + # have to copy the installer due to chroot + cp "$srcdir"/$_name.run "$_name/" + chmod +x "$_name/$_name.run" + # IDA Pro 9.0 SP1 (and newer) installer now tries to copy the .desktop files to $HOME even if you specify a prefix. Very annoying. + mkdir -p "$srcdir"/$_name/"$HOME"/.local/share/applications + fakechroot chroot "$srcdir"/$_name "/$_name.run" --mode unattended --prefix "/opt/$_name" + rm "$_name/$_name.run" + + cd "$_name/opt/$_name" + python3 "$srcdir"/patch.py + mv -v libida32.so.patched libida32.so + mv -v libida.so.patched libida.so + rm uninstall* Uninstall* } package() { - install -dm755 "$pkgdir/opt/$_pkgname" - cp --preserve=mode,timestamps -r "$srcdir/$_name/opt/$_name/"* "$pkgdir/opt/$_pkgname" + install -dm755 "$pkgdir"/opt/$_pkgname + install -dm755 "$pkgdir"/usr/bin + install -dm755 "$pkgdir"/usr/share/{icons,applications,licenses/$pkgname} - install -dm755 "$pkgdir/usr/bin" - ln -s "/opt/$_pkgname/ida" "$pkgdir/usr/bin/ida" + cp --preserve=mode,timestamps -r "$srcdir"/$_name/opt/$_name/* "$pkgdir"/opt/$_pkgname/ - install -Dm644 "$srcdir/$_name/opt/$_name/appico.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png" - install -Dm644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop" + ln -s "/opt/$_pkgname/ida" "$pkgdir"/usr/bin/ida + ln -s "/opt/$_pkgname/hvui" "$pkgdir"/usr/bin/hvui + ln -s "/opt/$_pkgname/qwingraph" "$pkgdir"/usr/bin/qwingraph + ln -s "/opt/$_pkgname/idapyswitch" "$pkgdir"/usr/bin/idapyswitch + + ln -s "/opt/$_pkgname/appico.png" "$pkgdir"/usr/share/icons/$_pkgname.png + ln -s "/opt/$_pkgname/hvui.png" "$pkgdir"/usr/share/icons/$_pkgname-teams.png + + ln -s /opt/$_pkgname/license.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + + install -Dm644 "$_pkgname.xml" "$pkgdir"/usr/share/mime/packages/$_pkgname.xml + + install -Dm644 "$srcdir"/com.hex-rays.ida.desktop "$pkgdir"/usr/share/applications/com.hex-rays.ida.desktop + install -Dm644 "$srcdir"/com.hex-rays.hvui.desktop "$pkgdir"/usr/share/applications/com.hex-rays.hvui.desktop + install -Dm644 "$srcdir"/qwingraph.desktop "$pkgdir"/usr/share/applications/qwingraph.desktop } diff --git a/com.hex-rays.hvui.desktop b/com.hex-rays.hvui.desktop new file mode 100644 index 0000000..3985ac5 --- /dev/null +++ b/com.hex-rays.hvui.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=IDA Teams +Comment=Teams for The Interactive Disassembler +Exec=/usr/bin/hvui %f +StartupWMClass=com.hex-rays.hvui +Icon=ida-pro-teams +Terminal=false +Type=Application +Categories=Development diff --git a/ida-pro.desktop b/com.hex-rays.ida.desktop similarity index 56% rename from ida-pro.desktop rename to com.hex-rays.ida.desktop index 29b77de..709b6b5 100644 --- a/ida-pro.desktop +++ b/com.hex-rays.ida.desktop @@ -2,7 +2,9 @@ Name=IDA Pro Comment=The Interactive Disassembler Exec=/usr/bin/ida %f +StartupWMClass=com.hex-rays.ida Icon=ida-pro +MimeType=application/vnd.hex-rays.ida.database64;application/vnd.hex-rays.ida.database32 Terminal=false Type=Application Categories=Development diff --git a/ida-pro.xml b/ida-pro.xml new file mode 100644 index 0000000..8101a3e --- /dev/null +++ b/ida-pro.xml @@ -0,0 +1,17 @@ + + + + IDA (64-bit) Database + + + + + IDA Database + + + + + WinGraph File + + + diff --git a/qwingraph.desktop b/qwingraph.desktop new file mode 100644 index 0000000..8f800c5 --- /dev/null +++ b/qwingraph.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=WinGraph32 (IDA) +Comment=External program to display IDA graphs +Exec=/usr/bin/qwingraph %f +StartupWMClass=qwingraph +MimeType=application/vnd.hex-rays.ida.wingraph +NoDisplay=true +Terminal=false +Type=Application +Categories=Development