合集-Cython二进制逆向系列

摘要:Cython作为Python中通用的一个模块,其设计的本意是为了提高Python代码的运行效率。因此,在Cython转换py源代码时,会对源码进行一系列的调整,从而干扰整个文件的逆向。当然,也正是因为他是通用工具,其整体框架和对类似Python在字节码处理上也有一定的规律。本系列将一步步拆解Cython生成的二进制文件/编译中间文件c语言文件,从而手撕Cython逆向。 阅读全文
posted @ 2024-12-06 19:07 纸飞机低空飞行 阅读(602) 评论(0) 推荐(1)
摘要:Cython二进制逆向系列(二)变量与数据结构在这篇文章里,我们会讨论Cython是如何存储变量(整数、小数、字符串、布尔值)以及数据结构(列表、元组、集合、字典)。Cython 对变量存储的方式与 Python 相似,但在 Cython 中,可以使用 C 类型的变量来显著提高性能。此外,由于Cython仍然依托于Python的虚拟机运行,因此Cython编译后的文件在底层仍然离不开对虚拟机接口的调用。在逆向时,我们可以通过调用的接口函数来判断变量的类型。 阅读全文
posted @ 2024-12-10 21:09 纸飞机低空飞行 阅读(192) 评论(0) 推荐(1)
摘要:Cython二进制逆向系列(三)运算符在这篇文章里,我们会讨论Cython是如何处理运算符的(数学运算符、位运算符、in/not in 运算符、 ==运算符与逻辑运算符)。总的来叔其中大部分是调用虚拟机api来实现的。 阅读全文
posted @ 2025-03-19 21:55 纸飞机低空飞行 阅读(80) 评论(0) 推荐(0)