Skip to content

RevokeMsgPatcher patches Windows client apps (WeChat/QQ/TIM) to prevent message revocation, supporting latest versions. Keeps chat history safe and accessible with straightforward setup 🐙

License

Notifications You must be signed in to change notification settings

DAMA342/RevokeMsgPatcher

Repository files navigation

https://github.com/DAMA342/RevokeMsgPatcher/releases

RevokeMsgPatcher: Hex Editor for WeChat, QQ, TIM Messages

Releases

A hex editor for Windows PC apps related to WeChat, QQ, and TIM. This project explores binary data, patching concepts, and the basics of how message data can be represented in small, structured bytes. It is presented as an educational tool for developers, researchers, and curious readers who want to learn more about binary formats and patching workflows on desktop platforms.

Emojis add a bit of character to the project page, but the core work remains practical and straightforward. The goal is to provide a clear, reliable toolset for examining file contents at the byte level, with a focus on safety, responsible use, and educational value.

Topics

  • hex-editor
  • patch
  • pc
  • qq
  • revoke
  • revokemsg
  • tim
  • tool
  • wechat
  • windows

Repository summary

  • Name: RevokeMsgPatcher
  • Type: Desktop tooling for binary analysis and patch exploration
  • Primary audience: developers, students, researchers, and hobbyists
  • Platform: Windows, with potential cross-platform concepts discussed in documentation
  • Core idea: a hex editor that helps inspect and understand binary data related to popular messaging apps
  • Scope: educational and exploratory; not designed as a turnkey patching kit for third-party apps

Releases and distribution

  • Official builds, patches, and sample data are provided through the Releases page. See the link above for access to packaged binaries and documentation.
  • The Releases page hosts official artifacts; users can browse files, inspect metadata, and download items that suit their needs.
  • For direct access, visit the Releases page at any time: https://github.com/DAMA342/RevokeMsgPatcher/releases

Why this project exists

  • Curiosity and learning: Many binary formats can feel mysterious. This tool demystifies how data appears at the byte level and how small changes can alter program behavior.
  • Educational value: Students and developers can study hex layouts, data encoding, and patch concepts in a controlled, observable environment.
  • Research and debugging: Researchers can examine sample binaries to understand how patches are represented, stored, and retrieved in complex software.

What you can do with this tool (high-level)

  • Inspect binary content: Open sample binaries and view raw bytes in a hex view.
  • Explore data structures: Map sequences of bytes to potential data structures and study endianness, field sizes, and alignment.
  • Learn patching concepts: See how changes in hex correspond to changes in the program’s behavior, without applying harmful patches to real applications.
  • Compare files: Use diff-style comparisons to identify where two binaries diverge at the byte level.
  • Document observations: Capture notes about byte patterns, offsets, and encoding choices for future reference.

What this is not

  • It is not a ready-made patching toolkit for modifying third-party messaging apps to bypass features. The project emphasizes education, safety, and responsible use.
  • It does not provide step-by-step instructions for circumventing app protections or violating terms of service.
  • It is not a deployment guide for distributing patches to end users. It focuses on understanding binary data and patch concepts in a controlled setting.

Core concepts (glossary)

  • Hex view: A representation of a file’s contents as hexadecimal values, typically displayed in rows of bytes.
  • Byte offset: The position of a byte within a file. Offsets are numbered from the start of the file.
  • Endianness: The order of bytes representing multi-byte numbers. Little-endian means the least significant byte comes first.
  • Encoding: The method used to represent data as bytes. Common examples include ASCII, UTF-8, and various binary formats.
  • Patch concept: A small change in a binary file that can alter behavior, data, or state. Understanding patch concepts helps in analysis and debugging.
  • Heuristic search: A method for locating patterns in binary data when exact structures are not known in advance.

How this project is organized

  • docs/: Documentation and educational material explaining hex concepts, with examples and explanations.
  • samples/: Small, safe binary samples for learning and practice.
  • src/: Core code base focused on data representation and analysis helpers.
  • tests/: Simple tests that demonstrate byte-level comparisons and offset calculations.
  • tools/: Auxiliary utilities that support hex viewing, data inspection, and comparisons.
  • images/: Placeholder assets and diagrams illustrating hex concepts (intended for educational use).

Getting started (educational path)

  • Prerequisites
    • A modern Windows PC with administrative access for testing in isolated environments.
    • A text editor with good support for code blocks and monospaced fonts.
    • Basic understanding of binary data, hex notation, and data encoding.
  • Quick start steps
    • Browse the sample data to learn how byte values map to common patterns.
    • Open a sample binary with the hex viewer to observe the raw bytes.
    • Use offset calculations to locate interesting regions in the file.
    • Compare two sample files to spot differences at the byte level.
  • What to expect
    • The tool is designed to be simple and reliable. It focuses on data inspection rather than automated modification.
    • The documentation explains common pitfalls and how to interpret byte sequences.
    • You will learn how binary data can encode information, structures, and states.

How to use the tool safely

  • Work with copies: Always work on copies of binaries to avoid accidental damage to original files.
  • Respect licenses: Only analyze data you are permitted to inspect. Do not use the tool to violate licenses or terms of service.
  • Document your steps: Keep notes of what you examine, which offsets you inspect, and what you observe. This helps reproducibility.
  • Avoid distributing patches: Do not share patches or patches-in-progress for third-party apps. Focus on educational demonstrations with safe samples.

Architecture and design principles

  • Simplicity: The core viewer emphasizes clarity over complexity. The hex view is the primary interface.
  • Extensibility: The codebase includes extension points for adding new analysis helpers without changing core behavior.
  • Portability: Concepts are platform-agnostic. The emphasis is on bytes, not platform-specific features.
  • Readability: Code and docs aim to be easy to follow. Clear naming helps new contributors understand the project quickly.
  • Safety: The project discourages any direct patching of third-party apps in real environments. It aims to prevent misuse and encourage learning.

Implementation notes (conceptual)

  • Data representation: A lightweight data model represents binary data as sequences of bytes and offsets.
  • View layer: A hex view renderer presents bytes in a conventional 16-byte-per-row layout with column offsets.
  • Analysis helpers: Small utilities compute offsets, search patterns, and illustrate how changes propagate in a file.
  • Comparison engine: A byte-level comparator highlights differences between two binaries, offset by offset.
  • Documentation: Educational content explains each feature with examples, diagrams, and annotated screenshots.

Code samples (conceptual)

  • Reading a file as bytes
    • Open a file in binary mode, read all bytes, and store them in a byte array.
    • Iterate over the array in chunks to render hex values and ASCII representations.
  • Offsets and addressing
    • Keep track of the current offset while iterating rows.
    • Display the offset in hexadecimal along with byte values.
  • Pattern search
    • Implement a simple substring or byte sequence search to locate potential structures in the data.

Contribution guidelines

  • How to contribute
    • Fork the repository and create a feature branch for your changes.
    • Add or update educational examples, documentation, or utilities that align with the project’s goals.
    • Ensure your contributions are safe, well-documented, and easy to understand.
  • Code style
    • Keep functions focused and well-named.
    • Add comments where needed to explain non-obvious logic.
    • Include tests for new features or changes where feasible.
  • Review process
    • Submit a pull request with a clear description of the change and its educational value.
    • Engage with reviewers by addressing questions and updating documentation as needed.
  • Community behavior
    • Be respectful and constructive in all interactions.
    • Focus on learning and sharing knowledge through clear explanations and examples.

Testing and quality assurance

  • Test data
    • Use safe sample binaries that are included in the samples/ directory for demonstrations.
    • Avoid using real application data or files that could violate terms of service or privacy policies.
  • Test coverage
    • Validate core hex view rendering, offset calculations, and pattern search functionality.
    • Add tests that verify the correct handling of edge cases, such as partial rows and non-printable bytes.
  • Build verification
    • Ensure builds are reproducible on multiple Windows environments.
    • Document any environment-specific steps required to run the tools locally.

Design rationale

  • Why a hex editor-based approach?
    • Hex editing is a universal technique for inspecting binary data. It provides a direct, low-level view of file contents.
    • A modular approach lets learners focus on one concept at a time: bytes, offsets, encoding, and data layout.
    • A safe, read-only or minimally writable tool reduces risk when exploring unknown binaries.
  • Why not provide patching templates?
    • Patching third-party apps can violate licenses and terms of service or cause harm to users.
    • The project emphasizes education and safe exploration rather than operational patching.

Documentation and learning resources

  • Tutorials
    • Step-by-step guides that illustrate how to interpret common byte patterns and recognize simple data structures.
    • Exercises that involve reading, comparing, and annotating sample data.
  • Reference materials
    • Quick references for hex notation, endianness, and common encoding schemes.
    • A glossary that clarifies terms used in binary analysis and patch concepts.
  • Visual aids
    • Diagrams showing how bytes map to higher-level data structures.
    • Simple screenshots that demonstrate the hex view layout and how to read offsets.

Roadmap and future work

  • Enhanced visualization
    • Add interactive diagrams that map bytes to hypothetical structures.
  • Expanded samples
    • Include more safe, educational binaries to broaden practice material.
  • Export features
    • Provide options to export hex views and annotations for study or teaching.
  • Collaboration
    • Encourage researchers to contribute case studies and annotated walkthroughs of binary data patterns.

FAQs (quick reference)

  • Is this ready for patching real apps?
    • The project is intended for education and exploration. Do not use it to patch third-party apps in production.
  • Can I patch my own files with it?
    • Use on copies of data and for learning purposes. Avoid modifying critical software or data without clear authorization.
  • Where can I find more examples?
    • The Samples directory contains curated examples intended for safe examination and study.

License

  • This project uses a permissive license that encourages learning and sharing of knowledge while maintaining responsible use. See the LICENSE file in the repository for full terms.

Changelog highlights

  • Initial educational release with core hex view and sample data.
  • Added pattern search utility and offset calculation helper.
  • Improved documentation and tutorials for beginners.

Contributing and support

  • We welcome curious minds and learners. If you have questions or ideas, please open an issue or submit a pull request on the project page.
  • For general feedback, engage with the community through approved channels listed on the project’s page.

See also

Screenshots and visuals (illustrative)

  • Hex view layout: An image showing the classic 16-byte rows with offsets and ASCII columns. Replace with real visuals when available.
  • Pattern detection diagrams: A simple diagram showing how a byte sequence can represent a data structure.

Notes on safety and usage (educational emphasis)

  • This repository is designed for learning and analysis in a controlled environment.
  • Do not use the tooling to modify or reverse-engineer software in ways that violate licenses, terms of service, or privacy rights.
  • Always work with backups and copies of data when experimenting with binary analysis.

End of content

About

RevokeMsgPatcher patches Windows client apps (WeChat/QQ/TIM) to prevent message revocation, supporting latest versions. Keeps chat history safe and accessible with straightforward setup 🐙

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages