So I'll make a program that compiles Assembly into C.
Good luck with that
>>69317284Such a magical reverse engineering tool would be revolutionary.
>>69317284Why not just write C and translate to assembly on every system?
>>69317284Hex-Rays Decompiler already exists
>>69317284It's always the fucking frog poster
>>69317284hexrays ida pro is what you're looking for anonand probably other disassemblers that do it
>>69317726not OP, but where can I get hex-rays decompiler for free?
>>69317439>>69317726Pshaw, it doesn't even decompile it into executable C. I'm making an actual compiler that will translate Assembly into real C code, which you can then recompile and redistribute.
>>69317436 You might be on to something. We'll need a logo.
It'll mostly be about detecting sys calls and replicating their behavior across platforms.
>>69317284>assembly isn't portable!I never got this meme. If you want to assemble source code for another architecture, you find another assembler that can - or just use macros to do the same thing. It's not any different then C where you might need to find another compiler for some obscure architecture, and a lot of compilers were only designed for a particular architecture, anyway.>B-BUT MUH PORTABILITYSo? At the end of the day, all software is non-portable - try running 8 or 16 bit programs on computers today, even for processors in the same architecture family that the smol bit stuff was written for. It simply won't run because it's too old. Saying higher level languages are portable, is like trying to argue it's one minute more portable then something else. Eventually all software will need to be remade or updated to actually retain any sense of "portability" that autists screech over.
You can easily make a macro-meta-assembler unifying different register name conventions, instructions and provide some meta-instructions. Plan 9 assembler did that and Go assembler as well.C is too high-level to reliably describe assembly programs, hell it abstracts registers and loading memory for starters
>>69319433int rax = 0 //mov rax, 0rax += 1 //add rax, 1
int rax = 0 //mov rax, 0rax += 1 //add rax, 1
>>69317284I literally had the same thought for like a few days ago but then i realized how fucking retarded it was so i didn't even try to pursue it. God damn it anon just write C.