PINCE  by korcankaraokcu

Reverse engineering tool for Linux games

created 9 years ago
2,453 stars

Top 19.3% on sourcepulse

GitHubView on GitHub
Project Summary

PINCE is a sophisticated, game-focused reverse engineering front-end for GDB, designed to offer features comparable to Cheat Engine. It targets reverse engineers and game modders seeking advanced memory scanning, manipulation, and debugging capabilities within a user-friendly interface.

How It Works

PINCE leverages a fork of libscanmem for efficient memory scanning and PointerScanner-X for pointer scanning. It integrates the Keystone engine for on-the-fly assembly and provides advanced debugging utilities like chained breakpoints, watchpoint/breakpoint tracking, and custom tracing. Its "Dissect Code" feature analyzes memory regions to identify calls, jumps, and strings, enhancing code comprehension.

Quick Start & Requirements

  • Users: Download the latest AppImage from Releases and run chmod +x PINCE-x86_64.AppImage && sudo -E ./PINCE-x86_64.AppImage.
  • Developers: Clone the repo (git clone --recursive https://github.com/korcankaraokcu/PINCE) and run sh PINCE/install.sh for a local development environment.
  • Dependencies: Python 3.10+, PyQt 6.6+. AppImage is tested on Ubuntu 22.04+.
  • Resources: Local development requires a Python 3.10+ environment.

Highlighted Details

  • Memory scanning with CheatEngine-like value type support (including extended strings).
  • Advanced debugging features: Watchpoint/Breakpoint Tracking, Chained Breakpoints, and custom Tracing.
  • Code injection support for .so files, with plans for single-line instructions and code caves.
  • "Dissect Code" functionality to analyze memory regions for calls, jumps, and strings.

Maintenance & Community

  • Active development with a roadmap available.
  • Discord server for community interaction.
  • Contributions are welcomed via pull requests.

Licensing & Compatibility

  • License: GPLv3+.
  • Compatibility: GPLv3+ is a strong copyleft license, requiring derivative works to also be open-sourced under GPLv3+. This may restrict integration into closed-source commercial applications.

Limitations & Caveats

  • Currently supports .so injection only, with plans to expand.
  • The AUR package is not officially maintained.
  • Support is officially limited to specific Linux distributions (Kubuntu 22.04+, Arch Linux), with partial support for others.
Health Check
Last commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
3
Star History
125 stars in the last 90 days

Explore Similar Projects

Starred by Jonathan Ragan-Kelley Jonathan Ragan-Kelley(Professor at MIT), Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), and
2 more.

claudia by getAsterisk

5.7%
10k
GUI toolkit for Claude Code
created 1 month ago
updated 1 day ago
Feedback? Help us improve.