摘要: Cython二进制逆向系列(二)变量与数据结构 在这篇文章里,我们会讨论Cython是如何存储变量(整数、小数、字符串、布尔值)以及数据结构(列表、元组、集合、字典)。Cython 对变量存储的方式与 Python 相似,但在 Cython 中,可以使用 C 类型的变量来显著提高性能。此外,由于Cython仍然依托于Python的虚拟机运行,因此Cython编译后的文件在底层仍然离不开对虚拟机接口的调用。在逆向时,我们可以通过调用的接口函数来判断变量的类型。 阅读全文
posted @ 2024-12-10 21:09 纸飞机低空飞行 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 花指令是反调试的一种基本的方法。其存在是干扰选手静态分析,但不会影响程序的运行。实质就是一串垃圾指令,它与程序本身的功能无关,并不影响程序本身的逻辑。在软件保护中,花指令被作为一种手段来增加静态分析的难度。IDA并不能正常识别花指令,导致可看可分析代码被破坏,因此需要我们自己去分析一下。 阅读全文
posted @ 2024-12-10 20:51 纸飞机低空飞行 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Cython作为Python中通用的一个模块,其设计的本意是为了提高Python代码的运行效率。因此,在Cython转换py源代码时,会对源码进行一系列的调整,从而干扰整个文件的逆向。当然,也正是因为他是通用工具,其整体框架和对类似Python在字节码处理上也有一定的规律。本系列将一步步拆解Cython生成的二进制文件/编译中间文件c语言文件,从而手撕Cython逆向。 阅读全文
posted @ 2024-12-06 19:07 纸飞机低空飞行 阅读(214) 评论(0) 推荐(1) 编辑
摘要: 常见的python花指令形式以及对抗方法。 阅读全文
posted @ 2024-11-13 21:53 纸飞机低空飞行 阅读(43) 评论(1) 推荐(0) 编辑
摘要: moectf2023的一些题 moectf2023的一些题 阅读全文
posted @ 2024-10-19 17:32 纸飞机低空飞行 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 反调试是一种用于阻碍程序动态调试的技术,主要为了干扰动态调试。本文给出了常见的反调试手法,以及对抗手段。 阅读全文
posted @ 2024-10-18 13:23 纸飞机低空飞行 阅读(52) 评论(0) 推荐(0) 编辑