Write Up | TUCTF 2018 - Shella Easy
这是我当软件安全课程助教时,在栈溢出内容后布置的一道题目,二进制文件在此。题目很简单,是最基础的栈溢出问题。
这是我当软件安全课程助教时,在栈溢出内容后布置的一道题目,二进制文件在此。题目很简单,是最基础的栈溢出问题。
从少年变成青年,我愈发感到自己在好奇心与创造力方面的退化。我感到自己越来越循规蹈矩,脑海中冒出非同寻常、独立思考的问题与想法的次数越来越少。好的问题和想法是好奇心与创造力的体现。
ChatGPT和GPT4无疑是近期最热的科技话题,我感觉到出现在科幻电影中的场景变得那么近。OpenAI为未来的机器人设计出了大脑,波士顿动力则设计出了身体。也许再过五年,一个让我们都感到震撼的、划时代的机器人就能出现在我们眼前!
LLVM infrastructure provides numerous interfaces to meet various requirements. However, lots of interfaces lack clear documents and example code. It is time-consuming for newcomers, including me, to find the ideal APIs and figure out their usage. To tackle this, I will write a series of articles that contain LLVM Interface in titles focusing on the useful APIs for program analysis. The contents of them will be short and concentrate more on concrete use cases than internal principles.
Rizin, which originates from Radare2, envolves fast with neat code style and friendly community. A big step of Rizin is the new implementation of shell compared with Radare2. Radare2 highly depends on switch statements to parse commands and conducts corresponding handlers. The situation becomes worse when it comes to the huge number of commands, which may still grow according to the various requirements of users.
在很多博客中,在和其他人的交流中,我常常听到这样描述clang和LLVM:clang是一个编译器前端,生成中间文件交给LLVM处理。依我来看,这样说是不准确的。
时光飞逝,在研究所已经待了一年有余。历经希望、失望、奋战、坎坷,我的第一个研究工作终于迎来了坦途。四天前我收到来自USENIX Security审稿人的邮件,恭喜我论文被接收。兴奋之感虽比不上“春风得意马蹄疾,一日看尽长安花”的孟郊,但用“柳暗花明又一村”来形容确实很合适。
LLVM中提供了一组便捷好用的命令行参数处理接口,本文针对不同的场景介绍如何使用它们。
std::vector is a popular data structure for C++ programming and it’s essential to release the memory within the vector when it is no longer used to avoid the memory leaks.
最近一段时间,产生了自己装一台电脑的想法,或者用一个更精确的词语:攒机。
最近几个月里,我向OpenSSL、Linux kernel和Rizin三个开源社区提交了Pull Request,其中大部分都被接受。对OpenSSL和Linux kernel社区贡献的代码主要是对一些bug的修补;由于Rizin仍处在开发的初期,对Rizin贡献的代码则主要涉及到一些新功能的开发。这篇博客主要聊一聊参与这些开源社区的感想。