1、由浅入深的由浅入深的 Cython Cython 逆向指南逆向指南 c10udlnk.About UsAbout Us山石网科安全技术研究院山石网科安全技术研究院 研究方向包括WEB安全、移动安全、智能安全和信创安全等,参编过多份安全标准。曾为上合峰会、财富论坛、港珠澳大桥的开通等重大活动提供了网络安保工作并获得感谢信。获得过苹果、红帽等知名企业的官网致谢,连续多年进入微软全球最具价值安全研究员榜单,公布过多个具有全球影响力的严重漏洞,在 Blackhat、Defcon、HITB、CanSecWest 等国际安全大会分享过研究成果,获得了诸多 CVE 漏洞编号。荣获过红帽杯企业组冠军,补天杯最
2、具价值漏洞奖,强网拟态防御国际精英挑战赛一等奖,第五空间网络安全大赛特等奖,津门杯国际网络安全创新大赛一等奖,陇警杯网络安全大赛第一名等优异成绩。About About MeMeREer inREer inNEURON,S1uM4i,Sloth y2020=y2020=首次接触 Python 字节码,从 Python 不熟练到手撕字节码一天速成。y2021:2023=y2021:2023=.研究的魔改 pyc 越来越多,能直接被反编译的都是时代的眼泪;.分析了 Python 字节码隐写工具 stegosaurus,在版本不兼容的情况下手动抠出一个 flag,赛后做了一些魔改使其兼容 Pytho
3、n 3.10(https:/ 逆向开始卷到了 Cython,静态分析慢慢上手,结合动态交互开始能解出 flag 了。y2023=y2023=毕设选题做的是 Python 代码保护相关,深入研究了 Oxyry、pyc_obscure、Py*or 等混淆保护,设计了一套加密器。y2024=y2024=结合 xasm 实现对手撕字节码的自动化(https:/ Cython 逆向的自动化(https:/ CythonCython及及 Cython Cython 逆向逆向Cython 是什么?和 Python、CPython 的关系CTF 逆向中的 Cython关于关于 CythonCython htt
4、ps:/cython.org/https:/ 一个基于 Pyrex 的 Python 编译器,它使为为 Python Python 编写编写 C C 扩展扩展就像编写 Python 本身一样简单。将代码段从动态 Python 语义移动到静态且快速的 C 语义,并可以直接操作外部库中定义的类型。源代码被转换为优化的 C/C+代码并编译为 Python 扩展模块,从而加快了程序的执行速度,并可与外部 C 库紧密集成,同时保持 Python 语言的编写简易性。#关于 Python 的 C 扩展:https:/docs.python.org/zh-cn/3/extending/extending.ht
5、ml#“C 扩展接口特指 CPython,扩展模块无法在其他 Python 版本上工作。在大多数情况下,应该避免写 C 扩展,来保持可移植性。举个例子,如果你的用例调用了 C 库或系统调用,你应该考虑使用 ctypes 模块或 cffi 库,而不是自己写 C 代码。”编写编写 P Python ython 的的 C C 扩展扩展 添加 C 函数到扩展模块:在模块的 method table 中添加对外调用接口:在模块的定义结构中引用,并创建 C 扩展的 Entry Point:直接用 Python 编写 cythonize 一把梭 然后就拥有了对应的 C 扩展文件和编译好的库用用 Cython
6、 Cython 编写编写 P Python ython 的的 C C 扩展扩展 CythonCython=一个可以将 Python 转化为 C 的编译器,也是一种语言(Python 的超集)PythonPython=一种众所周知的编程语言,可以让你快速工作并更有效地集成系统。CPythonCPython=Python 解释器的源码,并给用户提供 Python-C API 支持以编写 C 扩展.#(https:/ Python 代码或只提供字节码文本 .pyc 字节码文件#pyc反编译 魔改的.pyc 字节码文件#修改魔改部分,反编译.修改或删除文件头.co_code 中插入花指令.在冗余字节中