2 ms·
I do this. Just yesterday, I changed a large piece of software. I didn't have any source code for it. I think it may have been written in C++, but that didn't
by souprock 7y ago
I do this. Just yesterday, I changed a large piece of software.
I didn't have any source code for it. I think it may have been written in C++, but that didn't matter. I had the *.exe file, which was all I needed.
I used IDA Pro to study the software. You could use Ghidra, Binary Ninja, or Hopper Disassembler. They are pretty similar. I used xxd and joe to modify the software. You could use dd and echo, or a proper hex editor.
I found the function that was annoying me, practically causing the software to be malware. I inserted the bytes 33 DB (a XOR opcode) near the end of a function, then removed the bytes CC CC (alignment padding) from right after the function.
I seem to have hit most of the points in that article. The big miss was the unreasonable dream of "all experience levels". That just won't ever be reality. Mastery of a disassembler is not a beginner skill.