5 ms·
Could this be taken to the extreme by asking it to decompile assembly?
by arriu 4y ago
Could this be taken to the extreme by asking it to decompile assembly?
- pathartl 4y agoI've been using it paired with Ghidra to give me a better idea of what's going on. It helped me create a no-CD crack for an old game.
- amrb 4y agoSilly idea tho would it be helpful in creating the server side code for an online only game? I've seen a project for battlefield 3 tho already have the feeling it's a team effort at minimum?
- pathartl 4y agoIt's not some magic bullet. It helps a ton with trying to give names to obfuscated function and variable names, but you have to be intelligent enough to know what the code's actually doing. It probably helps RE teams a lot, but until it can easily run across an entire codebase it's just another tool in the toolbox.
- amrb 4y agoAgreed its can lacking logic till to spell it out, example was this ctf challenge and it just could understand the hash collision till I gave it the full write up [0] w.r.t codebases I may look at some of the free models (as this gets around the cost problem) and try to feed it prompts as a block of code plus meaningful references to same under the token limit. [0] https://github.com/victor-li/pwnable.kr-write-ups/blob/master/collision.md https://github.com/victor-li/pwnable.kr-write-ups/blob/maste...
- the_mitsuhiko 4y agoI have used ChatGPT somewhat successfully to decompile assembly in to C and C++. It's making a lot of mistakes but despite all of this, it's very helpful.
- amrb 4y agoFrom my own research, ctf tools like angr can build AST trees, so I'm working on the thinking I can train the AI to review interesting parts of the execution tree. happy to get feedback or papers since this has been the most interesting find so far https://arxiv.org/abs/1906.12029 https://arxiv.org/abs/1906.12029
- pskkk 4y agoI previously did this. I wrote a naive integer factorization program in C, compiled it, extracted the disassembly and intentionally broke it. It generated a working c function they was almost correct given the broken assembly. I then “talked” with it to improve the code, even suggested that the original disassembly contained an error. It was surprisingly good. Note: I broke the disassembly intentionally because when I presented the original disassembly it immediately outputted the/a C program to factorize integers.