MCPcopy Index your code
hub / github.com/badoo/hprof-tools

github.com/badoo/hprof-tools @release_1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release release_1.0 ↗ · + Follow
177 symbols 448 edges 29 files 61 documented · 34%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Introduction

Hprof-deobfuscator is a tool for deobfuscating HPROF memory dump files that are created from builds obfuscated with either ProGuard or DexGuard.

Before and after

Before and after running hprof-deobfuscator

Building

The application can be built by executing the following Gradle command in the root of the git:

./gradlew jarWithDependencies

This will create a jar file containing the application and its external dependencies in the following location:

./deobfuscator/build/libs/deobfuscator-all-1.0.jar

Usage

After building the application you can execute it with the following command:

./deobfuscator/build/libs/deobfuscator-all-1.0.jar \<mapping file> \<input hprof> \<output hprof>

Extension points exported contracts — how you extend this code

HprofProcessor (Interface)
Callback interface used by HprofReader to notify that data is being read. Created by Erik Andre on 12/07/2014. [6 implementers]
hprof-lib/src/main/java/com/badoo/hprof/library/HprofProcessor.java
HeapDumpProcessor (Interface)
Callback interface to be used together with the HeapDumpReader. When HeapDumpReader.next() is called it will read the fi [7 …
hprof-lib/src/main/java/com/badoo/hprof/library/heap/HeapDumpProcessor.java
NamedField (Interface)
Base class for named fields (instance and static fields) Created by Erik Andre on 14/08/2014. [4 implementers]
hprof-lib/src/main/java/com/badoo/hprof/library/model/NamedField.java

Core symbols most depended-on inside this repo

copy
called by 32
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
readInt
called by 25
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
writeInt
called by 24
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
write
called by 23
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
read
called by 21
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
getValue
called by 11
hprof-lib/src/main/java/com/badoo/hprof/library/model/HprofString.java
readShort
called by 10
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java
fromType
called by 9
hprof-lib/src/main/java/com/badoo/hprof/library/model/BasicType.java

Shape

Method 145
Class 28
Interface 3
Enum 1

Languages

Java100%

Modules by API surface

hprof-lib/src/main/java/com/badoo/hprof/library/model/ClassDefinition.java28 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/util/StreamUtil.java14 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/model/Instance.java10 symbols
deobfuscator/src/main/java/com/badoo/hprof/deobfuscator/DataCollectionProcessor.java10 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/HprofReader.java9 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/model/StaticField.java8 symbols
deobfuscator/src/main/java/com/badoo/hprof/deobfuscator/StringUpdateProcessor.java8 symbols
deobfuscator/src/main/java/com/badoo/hprof/deobfuscator/Mapping.java8 symbols
hprof-lib/src/test/java/com/badoo/hprof/library/HprofReaderTest.java7 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/model/HprofString.java7 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/model/InstanceField.java6 symbols
hprof-lib/src/main/java/com/badoo/hprof/library/heap/HeapDumpReader.java6 symbols

For agents

$ claude mcp add hprof-tools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact