46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# Minecraft Launcher by AnjoCaido
|
|
|
|
Reverse engineering of `Minecraft Launcher by AnjoCaido.exe`.
|
|
|
|
## Contents
|
|
|
|
```
|
|
MinecraftSP.jar original payload jar (copied from the Wine temp dir)
|
|
extracted/ 48 unpacked .class files
|
|
decompiled/ 11 readable .java files (CFR 0.152)
|
|
cfr.jar decompiler tool used (from Maven Central)
|
|
```
|
|
|
|
## Decompile again
|
|
|
|
```
|
|
java -jar cfr.jar extracted/net/minecraft/*.class \
|
|
extracted/anjocaido/console/*.class \
|
|
extracted/anjocaido/minecraftmanager/*.class \
|
|
--outputdir decompiled
|
|
```
|
|
|
|
Note: CFR refuses the jar archive directly, decompile from the extracted class tree instead.
|
|
|
|
## Codebase
|
|
|
|
A repack of the 2010-2011 classic Mojang launcher (v12.2 era) with AnjoCaido additions.
|
|
|
|
- `net.minecraft` (original Mojang classes)
|
|
- `MinecraftLauncher` entry point, heap check, relaunches itself with `-Xmx1024m`
|
|
- `LoginForm` username only login, no server auth, remembers name in `lastlogin` (PBE encrypted, hard coded key `passwordfile`)
|
|
- `LauncherFrame` main window
|
|
- `GameUpdater` downloads from `http://s3.amazonaws.com/MinecraftDownload/` (long dead Mojang CDN, so updates and force update fail today)
|
|
- `Launcher` embeds the game applet
|
|
- `MinecraftUtil` working directory and OS detection
|
|
- `anjocaido.console`
|
|
- `OutputConsole` game output window
|
|
- `anjocaido.minecraftmanager`
|
|
- `MinecraftBackupManager` "Backup Manager" button: zips and restores `.minecraft` saves and game directories
|
|
- `BackupUtil`, `Zipper` helpers
|
|
- `SevenZip/` bundled third party LZMA SDK, not part of the launcher code
|
|
|
|
## Security notes
|
|
|
|
Decompiled sources contain no suspicious code. Network access is limited to old Mojang endpoints (`s3.amazonaws.com`, `www.minecraft.net`) and a link to the author's YouTube channel.
|