Our great sponsors
-
ILSpy
.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
-
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
My job was simple: using the trial .exe, reverse-engineer their file format. Simple enough - I love this shit. The biggest roadblock: the trial version doesn't allow you to save files, so we were kind of screwed. Then, after a few minutes of playing around, I noticed that the UI looks suspiciously familiar to a .NET program. So I went to Google to see if there's any .NET disassemblers out there, and luckily, there is! I opened the .exe in the disassembler, and next thing I knew I was looking at .NET intermediate code. My next step: figure out how to enable the save button. Turns out the "trial version" is actually the full program, just with an additional routine at the beginning that checks for a license. I was able to find this in the IC, and found the exact point at which trial mode is activated: a single jump statement. I simply turned this into a NOOP, re-assembled the binary, and next thing I knew, I had successfully hacked one of our competitors' software.
Also it's easy enough to screw up on some platforms. Lets say you're setting up a new repo, this bug is still open and you forget to go back to it after pushing code to fix it.
Related posts
- Rust takes forever to load
- Found this exedecompiler.com website. Does anybody know it? Is it worth it?
- I made a DLL INteroreter that Allows the user to invoke methods with parameters in ANY DLL File
- The Rider IDE is able to disassemble C# code into High-level C#, Low-level C#, and IL. Is there a command line tool that can do this too, or is this proprietary?
- GDScript Export Mode usage for commercial or online games