4 ms·
> My other option was to translate it into real assembly I wrote a compiler from emoji-code to amd64 (mostly because I'm more interested in compilers than reve
by tntn 7y ago
> My other option was to translate it into real assembly
I wrote a compiler from emoji-code to amd64 (mostly because I'm more interested in compilers than reversing). It runs quite fast - prints the whole domain in ~1 min. I'd highly recommend it to people who are into assembly, it was a fun exercise.
- archgoon 7y agoHow did you implement the JUMP_TOP instruction? You need to jump to the x86_64 instructions that correspond to the given emoji index; did you implement a jump table?
- tntn 7y agoYeah, I put labels corresponding to the original IP throughout and used a jump table.
- archgoon 7y agoThat's pretty cool! I just transliterated the instructions into C macros; but i didn't bother with the jump tables. The nice thing with this approach is that you can mix vm instructions with c code freely; and get gdb support. I needed that because speeding up via C wasnt enough to decode the full URL and I still needed to do additional reversing. Was your method fast enough to get all three parts of the URL?
- tntn 7y agoIt produces the full domain name (up to .com) in ~ 1 minute. If there is more to the url (a path, ?= parameters, etc) after the domain name, then no.
- aereal 7y agowould you mind sharing this? I'd love to check it out :)
- tntn 7y agohttps://pastebin.com/eEuJcy18 https://pastebin.com/eEuJcy18