Live data from Hacker News

Panopticon: A libre, cross platform disassembler for reverse engineering

panopticon.re

51–60 of 90 posts

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#51
post #44
post #34

Author here. Panopticon grew out of my frustration about the lack of usable implementations of cutting-edge program analysis research and the fact that the industry standard for RE is a proprietary software that looks like Windows 95. I toyed with the idea of rewriting it in Rust since 1.0 became stable. The whole port took around 3 months. I got the size down from 10.000 to 8.000 loc. Looking back it was the right d…

Btw, that guy isn't me.

[deleted]

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#52
post #17

Earlier quoted context omitted.

There are sometimes tricks that get you around this problem, too: you can sometimes patch in a trampoline, which gives you some flexibility in the instructions you get to use.

An alternate direction rather than your standard jmp/displacement/nop'ing-to-align would be to use Dyninst[1] and live patch in memory[2]. Really though, your standard hex-editor will have facilities to alter all the necessary relatives. If you have access to modify the binary, no need to put in a trampoline (though it's awfully handy when playing CTFs!) Honestly, do we really need another static analysis tool? Hoppe…

>Honestly, do we really need another static analysis tool?

Definitely. IDA Pro is proprietary software and the possibilities of IDAPython are limited. IDA Pro mostly ignores the last two decades of research done in the field of binary program analysis. It still relies on pattern matching compilers instead of using semantics driven methods that have been around for >10ys. While there exist tools like BAP, BitBlaze, Jackstab and Bindead. They are not really usable for people w/o graduate student level understanding of program analysis. This is where Panopticon fits in.

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#53
post #37

Earlier quoted context omitted.

If your job can justify it, great, but mine can't. I want it for personal use and I can't justify it.

If you have more time than money, here's a possible option: - Buy IDA Pro using a credit card - Find bug or two, submit to bug bounty [1] - Pay back credit using bug bounty money [1] - https://www.hex-rays.com/bugbounty.shtml

If life were so simple, everyone would be doing it don't you think?

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#54
post #44
post #34

Author here. Panopticon grew out of my frustration about the lack of usable implementations of cutting-edge program analysis research and the fact that the industry standard for RE is a proprietary software that looks like Windows 95. I toyed with the idea of rewriting it in Rust since 1.0 became stable. The whole port took around 3 months. I got the size down from 10.000 to 8.000 loc. Looking back it was the right d…

Btw, that guy isn't me.

Weird. And now banned.

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#55
Great work. Therefore that's one more disassembler in the wide. Some of the great open source ones, reverse oriented, that I have been able to test are:

Metasm: https://github.com/jjyg/metasm/

Radare: http://radare.org/

Capstone: http://www.capstone-engine.org/

Capstone is based on LLVM, that you cannot beat in term of architectures and industrial quality, and has great plugins, which make it kind of my favorite.

Of course, for non-scripting needs, you need decent graphical interfaces, as provided by these ones:

IDA: https://www.hex-rays.com/products/ida/

Hopper: http://www.hopperapp.com/

IDA is clearly the best, but Hopper is a fair choice if you need it and you can't afford IDA license for personal use.

[Edit: add forgotten IDA and Hopper...]

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#56
post #52

Earlier quoted context omitted.

An alternate direction rather than your standard jmp/displacement/nop'ing-to-align would be to use Dyninst[1] and live patch in memory[2]. Really though, your standard hex-editor will have facilities to alter all the necessary relatives. If you have access to modify the binary, no need to put in a trampoline (though it's awfully handy when playing CTFs!) Honestly, do we really need another static analysis tool? Hoppe…

>Honestly, do we really need another static analysis tool? Definitely. IDA Pro is proprietary software and the possibilities of IDAPython are limited. IDA Pro mostly ignores the last two decades of research done in the field of binary program analysis. It still relies on pattern matching compilers instead of using semantics driven methods that have been around for >10ys. While there exist tools like BAP, BitBlaze, Ja…

IDA's licensing is also onerous.

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#58
post #55

Great work. Therefore that's one more disassembler in the wide. Some of the great open source ones, reverse oriented, that I have been able to test are: Metasm: https://github.com/jjyg/metasm/ Radare: http://radare.org/ Capstone: http://www.capstone-engine.org/ Capstone is based on LLVM, that you cannot beat in term of architectures and industrial quality, and has great plugins, which make it kind of my favorite. Of…

Medusa: https://github.com/wisk/medusa

x64dbg: http://x64dbg.com/

Bindead: https://bitbucket.org/mihaila/bindead/overview

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#59
post #55

Great work. Therefore that's one more disassembler in the wide. Some of the great open source ones, reverse oriented, that I have been able to test are: Metasm: https://github.com/jjyg/metasm/ Radare: http://radare.org/ Capstone: http://www.capstone-engine.org/ Capstone is based on LLVM, that you cannot beat in term of architectures and industrial quality, and has great plugins, which make it kind of my favorite. Of…

binaryninja: https://binary.ninja/

Re: Panopticon: A libre, cross platform disassembler for reverse engineering

#60
post #55

Great work. Therefore that's one more disassembler in the wide. Some of the great open source ones, reverse oriented, that I have been able to test are: Metasm: https://github.com/jjyg/metasm/ Radare: http://radare.org/ Capstone: http://www.capstone-engine.org/ Capstone is based on LLVM, that you cannot beat in term of architectures and industrial quality, and has great plugins, which make it kind of my favorite. Of…

FYI you most definitely can beat LLVM in terms of quality. Its diassembler was designed originally only to support the instructions that the compiler could generate. While they've since filled out most of the instruction set, there are still a whole set of subtleties it can't deal with well, simply because the compiler part of it was never designed to output them. (e.g. see segment prefixes)
Post reply on HN