好奇心与创造力

从少年变成青年,我愈发感到自己在好奇心与创造力方面的退化。我感到自己越来越循规蹈矩,脑海中冒出非同寻常、独立思考的问题与想法的次数越来越少。好的问题和想法是好奇心与创造力的体现。

Paper Note | DIRE: A Neural Approach to Decompiled Identifier Naming

Publication: ASE 2019 论文摘要 The decompiler is one of the most common tools for examining binaries without corresponding source code. It transforms binaries into high-level code, reversing the compilation process. Decompilers can reconstruct much of the information that is lost during the compilation process (e.g., structure and type information). Unfortunately, they do not reconstruct semantically meaningful variable names, which are known to increase code understandability. We propose the Decompiled Identifier Renaming Engine (DIRE), a novel probabilistic technique for variable name recovery that uses both lexical and structural information recovered by the decompiler.

ChatGPT的几点思考

ChatGPT和GPT4无疑是近期最热的科技话题,我感觉到出现在科幻电影中的场景变得那么近。OpenAI为未来的机器人设计出了大脑,波士顿动力则设计出了身体。也许再过五年,一个让我们都感到震撼的、划时代的机器人就能出现在我们眼前!

LLVM Interface | DominatorTree

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.

How Are Commands Defined in Rizin Shell?

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是『编译器前端』吗?

在很多博客中,在和其他人的交流中,我常常听到这样描述clang和LLVM:clang是一个编译器前端,生成中间文件交给LLVM处理。依我来看,这样说是不准确的。

论文投稿有感

时光飞逝,在研究所已经待了一年有余。历经希望、失望、奋战、坎坷,我的第一个研究工作终于迎来了坦途。四天前我收到来自USENIX Security审稿人的邮件,恭喜我论文被接收。兴奋之感虽比不上“春风得意马蹄疾,一日看尽长安花”的孟郊,但用“柳暗花明又一村”来形容确实很合适。

攒机

最近一段时间,产生了自己装一台电脑的想法,或者用一个更精确的词语:攒机。

开源社区参与之感想

最近几个月里,我向OpenSSL、Linux kernel和Rizin三个开源社区提交了Pull Request,其中大部分都被接受。对OpenSSL和Linux kernel社区贡献的代码主要是对一些bug的修补;由于Rizin仍处在开发的初期,对Rizin贡献的代码则主要涉及到一些新功能的开发。这篇博客主要聊一聊参与这些开源社区的感想。