In general though, dealing with binary data in python isn't particularly intuitive.Also many python tutorials and books fails to mentioned how to manipulate binary data. I feel that is one of the places where the standard library is not that rich.
Default behaviour seems to be overridden. I read the article and would recommend you look past the scrolling. If you are on an iDevixe, reader mode will help!
If you haven't seen it, also checkout Project LIEF. It is very good indeed. We use it for a lot of post-build binary verification in the conda ecosystem.
Hey. In your C code, you write to memory beyond what you malloc'd. You malloc'd 9 bytes for 'pw', but later do "pw[9] = '\0'", which accesses the 10th byte, which doesn't belong to you.
if you could briefly outline the space/position of this framework, relative to others (eg https://github.com/cea-sec/miasm ). Would very much appreciate.
Also, besides security aspect (eg intrusion/virus detection), I was looking at these frameworks as a 'higher-level than assembler, and less hardware architecture dependent than LLVM IR) -- is there an angle where reverse engineering tools, have a separate live an better-than-assembler toolchain for low level programming?
Eh, it depends on the topic. Binary reversing stuff rarely gets much love, but there frankly just aren't too many people doing that stuff. Web security things get lots of love, usually -- I both launched and sold a web security class via HN, very successfully -- because there are just so many people who are interested in it; it's the bread and butter of the industry nowadays. And anything privacy-oriented or seriously pwned always gets clicks and upvotes.
But yeah, this stuff is good content but doesn't have much reach.
Binary, firmware and hardware level security topics are academically most satisfying and fun to me. But there is a lot of mystery in these topics, given the inherent negativity and legal grey areas people have to deal with. I guess that is one of the reasons..
[+] [-] saagarjha|7 years ago|reply
It’s because you passed a constant string to printf, so the compiler decided it was not worth making the call and used puts instead.
[+] [-] Icyphox|7 years ago|reply
[+] [-] billfruit|7 years ago|reply
[+] [-] civility|7 years ago|reply
[+] [-] hultner|7 years ago|reply
[+] [-] bhargav|7 years ago|reply
Edit: Spelling
[+] [-] RayDonnelly|7 years ago|reply
Windows, macOS and Linux are all supported.
https://lief.quarkslab.com/
[+] [-] Icyphox|7 years ago|reply
[+] [-] matmann2001|7 years ago|reply
[+] [-] 75dvtwin|7 years ago|reply
Also, besides security aspect (eg intrusion/virus detection), I was looking at these frameworks as a 'higher-level than assembler, and less hardware architecture dependent than LLVM IR) -- is there an angle where reverse engineering tools, have a separate live an better-than-assembler toolchain for low level programming?
[+] [-] monocasa|7 years ago|reply
You can see some similar code I wrote in Rust here: https://github.com/monocasa/exeutils
[+] [-] Icyphox|7 years ago|reply
[+] [-] qaq|7 years ago|reply
[+] [-] daeken|7 years ago|reply
But yeah, this stuff is good content but doesn't have much reach.
[+] [-] dang|7 years ago|reply
[+] [-] z3phyr|7 years ago|reply
[+] [-] rhexs|7 years ago|reply
[+] [-] benj111|7 years ago|reply
Anyway VC funding doesn't necessarily equate to being interesting.