All Projects → googleinterns → ghidra-nsis-extension

googleinterns / ghidra-nsis-extension

Licence: Apache-2.0 license
Ghidra extension to disassemble NSIS installers

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to ghidra-nsis-extension

Openconnect Gui
Mirror - Graphical OpenConnect client (beta phase)
Stars: ✭ 993 (+5741.18%)
Mutual labels:  nsis
Nsis Ui
NSIS封包exe,牛牛安装包界面美化控件 [nsNiuniuSkin],包含3个实例,后两个是官网的,helloworld那个是根据上面两个例子改的。
Stars: ✭ 168 (+888.24%)
Mutual labels:  nsis
ghidra2dwarf
🐉 Export ghidra decompiled code to dwarf sections inside ELF binary
Stars: ✭ 135 (+694.12%)
Mutual labels:  ghidra
Bulk Crap Uninstaller
Remove large amounts of unwanted applications quickly.
Stars: ✭ 1,212 (+7029.41%)
Mutual labels:  nsis
Vcl Styles Plugins
Skin plugins for third party installers and apps
Stars: ✭ 131 (+670.59%)
Mutual labels:  nsis
Qnapi
Qt-based, multi-engine, multi-platform subtitle downloader
Stars: ✭ 226 (+1229.41%)
Mutual labels:  nsis
Ultramodernui
The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows.
Stars: ✭ 25 (+47.06%)
Mutual labels:  nsis
gdt helper
Ghidra Data Type (GDT) Helper
Stars: ✭ 24 (+41.18%)
Mutual labels:  ghidra
Stitch
Python Remote Administration Tool (RAT)
Stars: ✭ 2,018 (+11770.59%)
Mutual labels:  nsis
ghidra-65816
WDC 65816 processor module for Ghidra
Stars: ✭ 19 (+11.76%)
Mutual labels:  ghidra
Uget Windows Installer
uGet Installer for Windows
Stars: ✭ 96 (+464.71%)
Mutual labels:  nsis
Electron Builder
A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box
Stars: ✭ 11,653 (+68447.06%)
Mutual labels:  nsis
Uget Integrator
Native messaging host to integrate uGet Download Manager with web browsers
Stars: ✭ 253 (+1388.24%)
Mutual labels:  nsis
7z Build Nsis
7-zip build and package script with nsis script decompiling using ms visual studio
Stars: ✭ 61 (+258.82%)
Mutual labels:  nsis
ghidra-r2web
Ghidra plugin to start an r2 webserver to let r2 interact with it
Stars: ✭ 38 (+123.53%)
Mutual labels:  ghidra
Verge Core Installers
Verge Core Installers
Stars: ✭ 10 (-41.18%)
Mutual labels:  nsis
Installer
Stars: ✭ 189 (+1011.76%)
Mutual labels:  nsis
sleigh
Unofficial CMake build for Ghidra SLEIGH
Stars: ✭ 54 (+217.65%)
Mutual labels:  ghidra
emerald
Import DynamoRIO drcov code coverage data into Ghidra
Stars: ✭ 30 (+76.47%)
Mutual labels:  ghidra
ghidraal
A Ghidra extension for scripting with GraalVM languages, including Javascript, Python3, R, and Ruby.
Stars: ✭ 48 (+182.35%)
Mutual labels:  ghidra

This is not an officially supported Google product.

Ghidra NSIS Extension Build

This extension supports Nullsoft Scriptable Install System (NSIS) binaries built using the NSIS builder available from https://nsis.sourceforge.io/

Installing the extension

  • Download the built extension from GitHub
    • Visit the Releases page, normally use the latest release
    • Download the built extension zip file, the name will be similar to: ghidra_10.1.2_PUBLIC_YYYYMMDD_nsis.zip
  • If you don't already have Ghdira, download and install Ghidra from https://ghidra-sre.org/
  • Install the extension into Ghidra
    • Start Ghidra
    • Open File->Install Extensions...
    • Press the + icon found in the top right of the Install Extensions window
    • Navigate to the file location where you downloaded the extension zip file above and select it
    • Press OK
    • You will be prompted to restart Ghidra for the changes to take effect

Loading Extension into Eclipse for Development

  • Install Java
    • Tested verison: jdk-11.0.2
  • Install eclipse from eclipse.org
    • Tested version: 2020-12
  • Install Ghidra
    • Tested version: ghidra_10.1.2_PUBLIC
    • Ghidra must be started atleast once.
  • Install Ghidra Eclipse extension, follow instructions here
  • Checkout git project ghidra-nsis-extension to local directory
  • In eclipse's File menu, select New->Java Project
  • Un-select Use default location and navigate to the nsis folder in the git checkout location
    • ghidra-nsis-extension/nsis
  • Press Next
  • Un-select Create module-info.java file
  • Press Finish
    • There will be build errors
  • In the GhidraDev menu of Eclipse, use the Link Ghidra... and enter the path to the Ghidra binary install location
    • Select the Java project nsis just created
    • If there is Java conflict probably best to keep the current Java by pressing Cancel
    • Build errors should be resolved
  • Add the nsis/src/nsis/lib/xz.jar file to the build path in Eclipse to import those dependencies
  • You can test that everything is working in your project by selecting the Runmenu, then Run As and Ghidra.
  • A new instance of Ghidra should be loaded, if you import an NSIS executable file, should see the 'Nsis' Format suggestion in the first entry of the import dialog.

Updating The Disassembler Specification

  • If a change is made to Nsis.slaspec, it needs to be reprocessed by the sleight utility. Example command: <ghidra installer folder>/support/sleigh data/languages/Nsis.slaspec

Build extension from the command line

  • Install gradle
    • Tested version: 7.3
  • Execute the command from nsis folder
$ gradle -PGHIDRA_INSTALL_DIR=<path_to_ghidra>
  • Zip file will be created in the dist folder

Resources

Ghidra

NSIS

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].