Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,14 @@ The above example shows that the value is produced by `ldc` instruction, but it

The project is also greatly documented, so you can find more information about any class or transformer in their javadocs and comments inside the code. You can also view other transformers' code - see how they work and how they are implemented. There are also tests, so you can, for example, see how the transformer behaves when you modify some line of code.

## ❗Attention
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move this Attention section to the very bottom of the file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fix the small nitpick


### Change the too long class file name

Class files with long file names generated by obfuscator should not be directly submitted to Git, as this will cause Git to display the file as too long.

Modifying the class file name will not have any impact on processing ClassNodes, but a file name that is too long can cause git pull failures.

## 🧪 Testing
### How do these tests work?
The deobfuscator has a clever testing system. It works as follows:
Expand Down
19 changes: 5 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,19 @@ A deobfuscator for java
If you want to use this deobfuscator, you need to start it from your IDE manually.

1. Clone this repository and open it in IntelliJ
2. (Windows) Open cmd as administrator and run `git config --system core.longpaths true` to enable long paths support
3. Make sure that you have selected [Java 17 (Temurin)](https://adoptium.net/temurin/releases/?version=17) in `Project Structure` -> `SDK`
4. Place your obfuscated jar inside the root project directory. For example in `work/obf-test.jar`
5. Navigate to class [`Bootstrap.java`](./deobfuscator-impl/src/test/java/Bootstrap.java)
6. In this class edit the deobfuscator configuration
2. Make sure that you have selected [Java 17 (Temurin)](https://adoptium.net/temurin/releases/?version=17) in `Project Structure` -> `SDK`
3. Place your obfuscated jar inside the root project directory. For example in `work/obf-test.jar`
4. Navigate to class [`Bootstrap.java`](./deobfuscator-impl/src/test/java/Bootstrap.java)
5. In this class edit the deobfuscator configuration
- `inputJar` - Your obfuscated jar file that you placed in step 1
- `transformers` - Pick transformers that you want to run. You can find them in [`deobfuscator-transformers`](./deobfuscator-transformers/src/main/java/uwu/narumi/deobfuscator/core/other) module.
7. Run this class manually from your IDE. You can use our pre-configured IntelliJ task named `Bootstrap`.
6. Run this class manually from your IDE. You can use our pre-configured IntelliJ task named `Bootstrap`.

![tak](./assets/run-deobfuscator.gif)

## 🔧 Contributing
Contributions are welcome! See [CONTRIBUTING.md](./CONTRIBUTING.md) for a project introduction and some basics about java bytecode.

## Troubleshooting

### Git shows `Filename too long`

You need to open cmd as administrator and run `git config --system core.longpaths true`. This error is only shown for windows users.

![img.png](assets/filename-too-long.png)

## Links

<a href="https://discord.gg/tRU27KtPAZ"><img src="https://discordapp.com/api/guilds/900083350314811432/widget.png?style=banner2"/></a>
Expand Down
Binary file removed assets/filename-too-long.png
Binary file not shown.