2025 02 23
misc bin-exploit rev angr pwntools vn First week of hell has passed. Training for CTFs did pay off, as I solved a decent amount of challenges in a recent CTF. I must say, though, that many reverse engineering/binary exploitation challenges are not very reflective of their titles. One rev chall had a flashing gif that represented some sort of communication over UART & we had to decipher it. On the other hand, there was another where we were given a source code meant to run on an unknown machine that will give us the flag on execution. Perhaps I have been too narrow-minded, & should practice for a broader range of problems. In particular, I think my scripting skills have insofar been useful to applying certain tools in narrow scopes. I must learn the ins & outs of Python to be able to solve a wider array of challenges.
Regardless, I have relearned a lot of critical skills & will continue. Continuing from the last post, I have learned intermediate ROP chaining, basic angr, advanced ret2libc/stack of, & format strings. It is a lot to cover, so I will only talk briefly or of a few & distribute across different posts. ROP chaining borrowed much from the idea of stack ofs & uses it cleverly to chain stack frames & controlled execution for more advanced execution. It is definitely my goto solution for NX binaries without easy to leak canaries. Building a ROP chain that works is so satisfying, & feels like some magical matryoshka-doll like unveiling of gadget operations that work together to complete an exploit through nested execution control. Angr, boy, is also equally as fascinating, though comparing it to ROP is akin to that of oranges vs apples. I thought z3 was the most advanced & magnificent tool for rev I have seen, but angr really blows it out of the water. Not to discredit z3, however, as angr does use z3. I have barely scratched the surface of angr, & only know how to apply it to analyzing & cracking no-pic binaries with simple control blocks. How it pairs constrain solving with symbolic execution to make a mathematical representation of a binary’s execution to solve is mind-boggling. It doesn’t stop there, & as angr is able to incorporate to directly analyze binaries & recreate their execution by translating machine code & file’s symbols into a morphic execution with symbolic variables that enable us to solve through symbolic execution & constrain solving! That is simply crazy. I have only gotten my feet wet, but boy am I excited to learn more about angr & learn to use it effectively. Its functionality just makes it appear so universal & useful, unlike per se z3 & r2 where they can accomplish certain tasks magnificently. But the best of both worlds seldom, if never, presents itself. Maybe angr is less powerful compared to z3 & r2 when their respective scopes are applied, but I think that doesn’t take away the power found in the comprehensive framework & ability of angr to combine those & many other facets into an in bredth binary analysis solution.
This is the belated Riddle Joker review I should have done the moment I completed the vn. Alas, better late than never. Overall, the selling point of the vn has to be the heroines. They have very strong & unique traits that do not conflict but lead to rich dynamics. However, on the other end, the writing felt very lackluster. Plot progression felt unnatural & subsequently character development subsequently arbitrary/&nonsensical. I was also peeved that every heroine had traits that were hinted to be incredibly relevant only to be discarded & never heard of again. Nanami’s otaku personality, Ayase’s love for cats & Nijouin’s questionable DVD collection especially stick to mind. That being said, the moe compensated enough for it to be a good read. Nanami’s route was the best & only retrospectively good theme-centric route. Chisaki’s follows as a close second but cannot be compared to Nanami’s as they are like apples & oranges. Nanami’s was heavy on the theme & narrative whereas Chisaki’s was pure diabetes romance. The rest simply had too many of the problems mentioned & were stunted to OK at best. Mayu’s character development was not only goofy but god damn the romance development was beyond unnatural. The spy/researcher (victim) dynamic had potential for a unique story but the contrived resolution ruined any chances it had. Hazuki’s similarly had a very bullshit resolution to the theme, one which I felt had they gone through with one that worked, it would have made for a stellar route. Her archaic & traditionalilst personality that led to the conflict between her unwavering devotion to Satoru & her absolute sense of justice made for an excellent plot anchor. Ayase’s was decent. Nothing memorable to be honest other than the wide plethora of expressions that made it fun to sit through. I am still amused at how irrelevant Suou being an astral is. Nanami’s however, was almost kino (still debating internally over that). The subtleties in the interactions w/ Satoru coupled w/ their history & extensive characterization made for a bountiful experience. Her backstory was legit the only one that mattered imo, & led to not only a great introduction to the route’s conflict, but a great progression as well. The in-depth characterization with sensible narrative made for the most seamless & interesting read. Chisaki’s was of the perfect short length, with huge doses of diabetes & moe to energize the reader. Her voice is also pretty damn good. Emberassingly, I scrapped on finishing the After Stories, & I hope anyone who has read RJ can understand. I shall still mark this as complete, & have moved on to read Clover Day’s Plus. Am currently on Anzu’s route & it seems to be one of the better vns so far. Such a coincidence I’m doing another imouto route, lol. Maybe Nanami’s left a lasting impression as it is the best imouto route I have read. Don’t get me wrong though, Anzu is super likable & stuck out to me most which is why I started with her. She does sorta remind me of Kud though, lol. Here’s to praying for another good read.