1.IL2CPP 逆向初探
2.逆向pyinstaller打包的找源exe软件,获取python源码(1)
3.逆向pyinstaller打包的码逆exe软件,获取python源码(4)
4.逆向pyinstaller打包的向源exe软件,获取python源码(6)
5.我有一个.EXE的代码文件,我想查看它的找源源代码,不知道用什么软件呢
6.逆向pyinstaller打包的码逆牛玩源码exe软件,获取python源码(3)
IL2CPP 逆向初探
IL2CPP 逆向分析涉及将游戏C#代码转换为C++并编译为Native代码,向源同时保持C#特性如GC和反射的代码实现。核心文件global-metadata.dat存储了类名、找源方法名等信息,码逆启动时会读取。向源逆向过程包括解压apk,代码使用IL2CPPDumper获取符号,找源寻找libil2cpp.so和global-metadata.dat,码逆以及利用dump.cs、向源IL2cpp.h和script/json/stringliteral.json等工具解析代码。
详细步骤如下:
1. 获取Android(armeabi-v8a\libil2cpp.so)和PC(_Data/il2cpp_data/Metadata/global-metadata.dat)的il2cpp相关文件。
2. 利用IL2CPPDumper工具处理global-metadata.dat,dump.cs显示C#类、方法等信息,gdb源码编译安装IL2cpp.h提供cpp头文件,script.json和stringliteral.json则为类方法和字符串的json展示。
3. 在IDA中,根据元数据加载路径(il2cpp_init、il2cpp::vm::Runtime::Init等函数),分析混淆情况,寻找可能的解密或混淆点。
4. 对于混淆的metadata,尝试内存搜索魔术字,或对比源代码找到解密代码区域。
5. 解密后的关键函数,如ScoreScene__Start,通过检测preciseTime和notehit来获取flag。
示例中提到的解密和逆向技术包括:
- 搜索内存中的魔术字
- 对比源代码找出MetadataLoader的调用链
- 检测AES加密,确定密钥和IV
- 编写解密脚本恢复数据
参考资源:
- [Blog post 1] katyscode.wordpress.com
- [Blog post 2] cloud.tencent.com
- [Blog post 3] blog.shi.cn
- [Blog post 4] blog.csdn.net
- [Video tutorial] bilibili.com/video/BV1D...
完整示例代码或详细步骤的出处:[Original article - IL2CPP Reverse Engineering - KanXue.com]
逆向pyinstaller打包的exe软件,获取python源码(1)
年创作了一款安全事件分析小工具,这是我初次尝试为安全驻场人员开发的简易工具。利用pyinstaller打包为PE格式,使用起来十分便捷,2048小游戏源码只需导入态势感知的安全事件列表,小工具便会自动进行分析。这款工具旨在辅助驻场人员理解安全事件,同时收集现场信息,便于后续运营效果评估。 近期,在探索逆向工程的过程中,我了解到可以逆向pyinstaller打包的exe软件,从而获取python源码。这促使我回忆起之前在GitHub上分享的项目。现在,就让我讲述这个过程:逆向工程之旅。 小工具操作步骤如下:首先,对exe程序进行反编译处理。
接着,进入反编译后得到的extracted文件夹。
仔细观察struct.pyc和main.pyc文件头的前字节,它们之间可能存在关键线索。
然后,c 调用spread源码对pyc文件进行反编译,逐步揭示python源代码。
最后,虽然目前只能看到主函数,但这是逆向工程的一个重要突破。
尽管未能完全揭示所有函数,但这无疑为后续深入研究打开了新的可能。逆向pyinstaller打包的exe软件,获取python源码(4)
在之前的文章“ailx:逆向pyinstaller打包的exe软件,获取python源码(1)”中,我们已经成功逆向出了主程序。然而,导入的py文件并未被逆向出来。得益于知乎网友的提醒,我们发现了“PYZ-.pyz_extracted”文件夹,这激发了我们继续探索的兴趣。这个小工具依赖于四个文件,而我们此次成功地还原了pyinstaller打包的exe软件的所有python源码。尽管pyinstaller操作便捷,lol泡泡换肤源码但在打包过程中,我们仍需注意对python源码进行加密。
第一步,我们进入“PYZ-.pyz_extracted”文件夹,确实发现了依赖文件。第二步,我们逆向了pyc文件,成功获取到了所有python源代码。第三步,我们在pycharm中打开了这些代码,并解决了所有依赖问题。最后,第四步,我们直接运行了python代码,成功启动了软件。
逆向pyinstaller打包的exe软件,获取python源码(6)
在之前的讨论中,我们已经成功逆向了由pyinstaller打包的exe程序的主程序。然而,关于其依赖的python文件,其实获取方法相当直接。关键在于PYZ-.pyz_extracted文件夹,其中包含编译exe时转化为pyc格式的依赖文件。只要对这些pyc文件进行逆向,就能揭示出整个exe的所有python源代码,这种方法屡试不爽。然而,有知乎网友推荐使用Nuitka进行exe打包,以增加代码的防护,防止源码被轻易反编译。具体步骤如下:首先,进入PYZ-.pyz_extracted文件夹,你将发现所需的依赖文件。
接着,对这些pyc文件进行逆向处理,从而获取到全部的python源代码。
在pycharm等开发环境中,打开这些源代码,解决任何依赖关系问题。
最后,直接运行你修改后的代码,程序即可成功启动。
我有一个.EXE的文件,我想查看它的源代码,不知道用什么软件呢
IDA Pro 是一款功能强大的逆向工程工具,它结合了Hex-Rays插件可以用来分析.EXE文件。通过这些工具,您可以观察到文件转换后的C代码,但请注意,这些代码并不是原始的源代码,而是编译后的机器代码的等效表现形式。因此,虽然可以提供对程序逻辑的理解,但不会与开发者编写的源代码完全相同。
逆向pyinstaller打包的exe软件,获取python源码(3)
年,我开发了第三个安全运营小工具,这个工具是为安全驻场人员设计的。本来打算将其与第一个软件整合,但由于时间限制未能实现。当时过于急于求成,没有深入分析代码。然而,最近的一次威胁狩猎事件激发了我对逆向工程的兴趣,我顺便尝试了逆向pyinstaller打包的exe软件,以获取python源码。回顾过去的代码,转眼已到年。我一直从事网络安全业务,但在coding技术上却毫无进步。今年,我决心提升代码水平,争取创造出有差异性的成果。
提醒:故事还有后续,我将逆向pyinstaller打包的exe软件的所有源代码:ailx:逆向pyinstaller打包的exe软件,获取python源码(6)
态势感知体检小工具说明:
第一步:对exe程序进行反编译[1]
第二步:进入新获得的extracted文件夹
第三步:查看struct.pyc和main.pyc前4字节之间的区别
第一个软件前个字节,第二个软件只有前8个字节相同,第三个软件只有前4个字节相同,不知道为什么,但我在这里并未发现任何问题。
第四步:反编译pyc文件得到python源代码
第五步:欣赏一下反编译的代码
逆向pyinstaller打包的exe软件,获取python源码(2)
年,我开发了第二个安全运营工具——统一运营,专为驻场运营管理员设计。该工具需要与第一个工具安全事件分析(ailx:逆向pyinstaller打包的exe软件)配合使用。安全事件分析工具会产生一个db文件,存储客户态势感知平台上的安全事件信息。统一运营工具对多个客户的数据进行横向AI聚类分析和纵向历史基线分析,并构建分析报表,自动生成邮件。在此过程中,我使用了一个复杂的算法进行横向对比,即9:1开,强制%的安全驻场不及格。近期,遇到一个beacon加密程序被同事破解,激发了我对逆向的兴趣,于是我开始逆向pyinstaller打包的exe软件,获取python源代码。
提醒:故事还有后续,逆向成功获取pyinstaller打包的exe软件的所有源代码:ailx:逆向pyinstaller打包的exe软件,获取python源码(5)
自动化运营周报小工具说明:
第一步:对exe程序进行反编译[1]
第二步:进入新获得的extracted文件夹
第三步:查看struct.pyc和main.pyc前8字节之间的区别
第一个软件前个字节,第二个软件只有前8个字节相同,不知道为啥,不过我这里并未处理
第四步:反编译pyc文件得到python源代码
第五步:欣赏一下反编译的代码
非常遗憾,暂时只能看到主函数,看不到最核心的my_core函数,不知道咋弄