llvm学习(十):修复 macOS Catalina 缺失 /usr/include 导致的clang无法使用

今天升了macOS10.15,发现自己编译的llvm和clang坏掉了,重新编译也没用,而自带的/usr/clang是没有问题的,发现是 /usr/include 缺失。

继续阅读“llvm学习(十):修复 macOS Catalina 缺失 /usr/include 导致的clang无法使用”

从汇编语句生成CFG:以balsnctf2019 Hack Compiler为例

国庆节看学弟们在参与balsnctf2019,有一个逆向是给一段汇编,要求拿到flag,这段汇编是一种自定义的,因此没有现成的工具来处理它。我只是凑个热闹,虽然我没有做出来,但练习了一下手绘CFG,挺有意思的,本文讲一下CFG的基础知识和如何手绘CFG。

本文使用到的环境:python2、win10、graphviz-2.38、pypi: graphviz

本文涉及到的代码:https://gist.github.com/LeadroyaL/4e068787e075e9ff030c4937f5c113bd

继续阅读“从汇编语句生成CFG:以balsnctf2019 Hack Compiler为例”

Unicorn实战(一):去掉libcms.so的花指令

最近学习unicorn,看到一位大佬在AndroidNativeEmu上把 X-Gorgen的计算跑通了,听说这个版本的leviathan函数很复杂,准备动手看看复杂在哪里,一眼就看到了JNI_OnLoad里的花指令。抱着学习unicorn的目的,本文记录下如何使用unicorn去掉libcms.so的花指令。

继续阅读“Unicorn实战(一):去掉libcms.so的花指令”

9102年Java里的XXE的防御

温故而知新,一年前的现在写的文章有点旧,而且不够准确,于是新开一篇介绍一下。

前段时间在搞应急,从一个啥都不会的小白学了一些XXE的简单poc构造和防御手段,网上攻击的poc很多,就不多说了,防御方法五花八门,而且有些防御根本就是无效的!!写篇文章分享一下,如何用Java彻底防御XXE。

继续阅读“9102年Java里的XXE的防御”