Relative Content

Tag Archive for artificial-intelligencereverse-engineeringopenai-apidecompilerautogpt

Training an ASM->C translation AI model

One of the most difficult challenges in the world of programming is to decompile an executable and then translate the assembly into a higher level language, like C. I was wondering if this could be made easier with AI. Training the model would be similar to training an image upscaling model. Imagine this: every project written in C that exists on github is provided as the training data, and it comes with its corresponding decompiled assembly code. After training a model with all of this data, what sort of results could one expect when trying to use this model to turn an executable into C code? I find this very fascinating. Do you think that it would actually be able to provide anything useful? Do you think it could result in a game-changing new capability that redefines what it means to reverse engineer software? In addition, I’ve been experimenting a lot with ChatGPT and have recently learned about AutoGPT, and have been able to quickly transform them into something along the lines of JARVIS from Iron Man. I could ask it for any information about my computer or its contents, and it will create a structured plan on how to answer my question, including potentially doing research on the topic, developing its own tools to help with the task, registering on forums and asking others for information regarding something it’s having trouble figuring out, and even taking over my keyboard and mouse to perform tasks for me, using an aggregate of visual recognition to understand what’s happening on-screen, spliced with the output from system libraries that programmatically provide the same info, continuously becoming more adept at using my computer the way a human would, etc. If such functionality would be used to manage the creation of an Executable->C model, it could perhaps invent a novel approach that noone else has thought of yet. If I were to have it leverage these capabilities, where do you guys think it can end up within the context of trying to translate executables into C code?