Code Monkey home page Code Monkey logo

Comments (2)

Atvaark avatar Atvaark commented on May 27, 2024 2

where do you learn do decrypt all this encripted files,

Solely by debugging the application that does the decryption. At one point an application will read the encrypted file into memory and decrypt it with a public or a custom algorithm. Most of the work ist just figuring out which algorithm is used and (when applicable) where the keys to decrypt are stored.

but where do you get decrypt keys for example

Either they are stored inside the application or they are loaded from somewhere externally (another file or a remote server). DSII stored most keys related to the asset files inside external files in a human readable text format. FROM noticed that this wasn't a good idea and reworked it for DSIII.
In DSIII the keys were embedded inside the application in an obfuscated (non human readable) format. The game will deobfuscare the key in memory when it is required and obfuscate it when it's done reading the encrypted file. This process is over in a few ms, so you're going to need to use a debugger to pause the application at the right instruction or moment. While it is deobfuscated it can be found in memory and saved for later use.

Any resource to learn to make this?

There are plenty of written or video tutorials that explain debugging applications, data encryption and tool programming on their own. I don't know of any that cover all aspects I needed to know to write this tool.

Write your own applications that use common encryption algorithms like RSA, AES, Blowfish etc. and use a disassembler and debugger like x64dbg, ollydbg or the free version of IDA to see how each algorithm looks like when compiled.
Try searching for other open source tools for games that use file encryption and debug the decryption routines. I'd also recommend that you limit yourself to games that don't require a network connection/account and that don't use any DRM or anti debugging techniques.

from bindertool.

WolfDan avatar WolfDan commented on May 27, 2024

Finally everything is clear to me! So many thanks to take the time to answer my question, now I have good guide to begin on it!

I close Issue ^^

from bindertool.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.