Apache Atlas是一个开源的数据治理和元数据管理平台,它是Apache软件基金会旗下的一个项目,主要服务于大数据生态系统。它能够帮助组织发现、管理和治理数据资产,以确保数据的质量、安全性和合规性。Apache Atlas的核心功能包括元数据管理、数据质量管理、数据安全和合规性以及数据发现等。 元数据管理功能允许用户对数据资产进行分类、定义和跟踪。这使得用户可以理解和管理他们的数据环境,确保数据的准确性和一致性。此外,它还提供了一种方式来记录和传播元数据的变更,帮助保持元数据的时效性和准确性。 数据质量管理功能提供了工具和流程来识别和解决数据质量问题。它能够监控数据质量规则,对不符合标准的数据进行报告,并提供修改建议。这些功能对于维护数据的准确性、完整性和可靠性至关重要,尤其在处理大规模数据集时。 在数据安全和合规性方面,Apache Atlas提供了数据分类和标记功能,以支持数据隐私和安全要求。它能够与Hadoop生态系统的安全组件集成,如Apache Ranger或Apache Sentry,以控制对数据的访问和操作。此外,它还支持自动化数据合规性检查和报告流程。 数据发现是Apache Atlas的另一个关键功能,它允许用户轻松地搜索和发现数据资产。它通过提供一个集中的元数据存储库和一个易于使用的搜索界面,使用户能够快速找到他们需要的数据。这在大数据环境中尤为重要,因为数据往往分布在多个系统和平台中。 Apache Atlas的设计目标是支持扩展性,以适应不断增长的数据集和日益复杂的数据生态系统。它支持与多种数据源和工具的集成,并允许用户自定义元数据模型和扩展其功能。这使得它成为许多组织在构建数据治理策略时的首选工具。 2.4.0版本作为Apache Atlas的一个重要版本,很可能包含了一系列的新特性和改进,如性能优化、新工具的集成、用户界面的改进、更强大的数据处理能力等。由于用户进行了自定义编译,他们可能针对特定需求进行了优化或集成,使之更适合他们的大数据环境和数据治理需求。 Apache Atlas 2.4.0的编译成品通常会包含一系列的二进制文件和库文件,这些文件可以部署到不同的环境中,以满足数据治理的要求。对于需要定制化解决方案的大数据用户来说,自行编译是一个非常有用的过程,它确保了软件能够满足特定的业务需求和环境要求。 Apache Atlas的编译和部署通常需要一定量的技术知识,包括对Hadoop生态系统、数据治理概念以及相关安全措施的理解。企业或组织在部署时应考虑到这些方面,并确保所采用的解决方案符合其业务目标和监管要求。 在大数据领域,随着数据量的不断增长和数据类型的日益多样化,数据治理变得越来越重要。Apache Atlas作为一个专门的数据治理工具,不仅能够帮助组织应对这些挑战,还能够提升数据管理的整体水平。随着数据治理和元数据管理需求的不断增长,Apache Atlas可能会继续发展和扩大其功能范围,以满足更广泛的市场需求。 无论是在小型企业还是大型组织中,数据治理都是一个复杂且关键的任务,而Apache Atlas提供了许多强大的功能来简化这一过程。它通过提供元数据管理、数据质量管理、安全和合规性以及数据发现等功能,帮助用户更好地理解和管理他们的数据环境。因此,对于任何希望有效地进行数据治理的大数据用户来说,Apache Atlas都是一个不可忽视的工具。随着2.4.0版本的发布,用户可以期待更加强大和灵活的数据治理解决方案,以应对日益增长的数据挑战。
2025-12-19 18:53:57 758.92MB atlas 数据治理
1
GDAL(Geospatial Data Abstraction Library)是一个开源的库,用于在各种不同的格式的栅格和矢量地理空间数据格式之间进行转换。GDAL244版本指的是该库的一个具体版本号,其中“244”表示该版本的具体版本号,这通常意味着该版本是第244次迭代的稳定版或候选版。GDAL库广泛应用于GIS(地理信息系统)、遥感图像处理以及各种空间数据处理软件中。 由于这是一份编译好的GDAL版本,包含的文件夹结构分别对应不同的功能和用途: 1. include文件夹:包含所有的头文件。头文件是C++程序中用于声明类、函数、变量等元素的文件,通常是.h或.hpp扩展名。在GDAL库中,这些头文件允许开发者在自己的项目中调用GDAL库提供的空间数据处理功能。这说明该编译版本已经准备好了供开发者在项目中引入和使用GDAL。 2. lib文件夹:包含了GDAL库的静态链接库文件和动态链接库文件。静态链接库通常以.lib或.a为扩展名,在Windows和Unix-like系统中分别使用。动态链接库通常以.dll(Windows)或.so(Linux和macOS)为扩展名。这些库文件对于构建需要GDAL功能的应用程序至关重要,无论是进行静态链接还是动态链接,都能确保应用程序运行时能够调用GDAL提供的功能。 3. data文件夹:可能包含GDAL需要读取的资源数据,如驱动配置文件、投影数据和预先定义的数据转换参数等。这个文件夹的具体内容取决于GDAL的安装和配置情况。例如,一些格式的驱动可能需要额外的依赖文件。 4. bin文件夹:通常包含编译好的可执行文件。对于GDAL来说,bin文件夹可能包含了一些命令行工具,这些工具可以用来进行空间数据转换、格式转换等操作。它使得用户无需编程就可以直接使用GDAL提供的功能。 5. html文件夹:可能包含GDAL文档的HTML格式版本。文档是了解和使用GDAL库的重要资源,通过阅读文档可以掌握GDAL的安装、配置以及各个功能的具体用法。 这份编译好的GDAL版本对于需要在GIS或遥感软件中处理空间数据的开发者来说是一个非常有价值的资源。开发者可以利用这份预编译的库,通过简单的配置和引入相应的头文件和库文件,快速地在自己的项目中实现对空间数据的读取、转换和处理。此外,配套的文档和工具则为开发者学习和使用GDAL提供了便利。 这份资料的使用场景非常广泛,可以应用于地理信息系统开发、遥感数据处理、地图制作、空间数据分析等多个领域。GDAL由于其跨平台和开源的特点,已成为空间数据处理的工业标准之一。
2025-12-19 00:05:51 7.53MB
1
内容概要:本文介绍了在嵌入式系统开发中如何实现对多个设备树(DTS)的兼容支持,重点围绕kernel、uboot及设备配置部分的修改方法。详细说明了在configs/rk3568_defconfig中添加CONFIG_ROCKCHIP_HWID_DTB配置项,在device/rockchip/rk356x目录下通过PRODUCT_KERNEL_DTS1至PRODUCT_KERNEL_DTS5变量定义多个DTS文件,并指出当启用多DTS时原PRODUCT_KERNEL_DTS将被忽略。同时阐述了build.sh脚本在单DTS与多DTS编译中的差异,包括使用u-boot的pack_resource.sh生成resource.img以及调用mkmultidtb.py脚本生成多DTS镜像的过程。文章还提醒开发者注意分区大小限制问题,目前最多支持五个DTS,实际应用需进行测试验证。; 适合人群:具备嵌入式Linux开发经验,熟悉kernel、uboot和设备树配置的工程师,尤其是工作1-3年的中初级研发人员; 使用场景及目标:① 实现同一固件兼容多种硬件型号的设备树;② 掌握多DTS编译机制及其在RK3568平台上的实现方式;③ 优化构建流程以支持灵活的硬件适配需求; 阅读建议:此资源以具体平台(RK3568)为例讲解多DTS兼容方案,建议结合实际项目环境动手实践相关配置修改与编译流程,并重点关注脚本执行顺序及资源文件生成路径。
2025-12-18 11:12:34 255KB 嵌入式开发 内核编译 uboot Linux
1
**MASMPlus汇编编译**是针对汇编语言编程的一款高效、易用的可视化工具。在编程领域,汇编语言是一种低级语言,它直接对应于计算机的机器指令,因此,汇编编译器是将汇编语言程序转换为机器可执行代码的关键工具。MASMPlus作为这样的编译器,提供了丰富的功能和友好的用户界面,使得开发者能够更便捷地进行汇编编程。 汇编语言编程虽然难度相对较高,但它的优势在于可以直接控制硬件资源,对于系统级编程、嵌入式系统开发以及对性能有极致追求的应用来说,具有不可替代的地位。MASMPlus则为这个过程提供了一个强大的平台,它不仅包含基本的编译功能,还可能包括调试、语法高亮、自动完成等增强特性,极大地提高了开发效率。 **汇编编译过程**通常包括以下几个步骤: 1. **预处理**:这一步主要处理源代码中的宏定义、条件编译指令等,将它们转化为机器可以理解的形式。 2. **汇编**:汇编器将经过预处理的汇编指令转化为机器码,每个汇编指令对应一个或多个机器码。 3. **链接**:如果源代码中包含了多个模块或者使用了外部库,链接器会将这些模块和库合并成一个可执行文件,解决符号引用问题。 4. **生成目标文件**:在编译过程中,汇编器会生成中间的.object或.obj文件,这些文件包含了机器码和相关的符号信息。 **MASMPlus的特点**可能包括: - **图形化界面**:与传统的命令行工具相比,MASMPlus提供了一个可视化的集成开发环境(IDE),用户可以在其中编写、编译和调试代码,提高了编程的舒适度。 - **调试支持**:内置的调试器可以帮助开发者跟踪程序运行,查看内存状态,设置断点,单步执行,以及分析变量值等。 - **语法高亮和代码提示**:这可以提升代码可读性,同时减少输入错误,提高编码速度。 - **宏支持**:MASMPlus可能支持强大的宏系统,允许程序员创建自己的函数库,简化重复代码。 - **兼容性**:可能兼容多种汇编语言标准,如Intel和AT&T格式,以及不同体系结构(如x86、x64)的指令集。 在提供的压缩包中,`idesetup.exe`可能是MASMPlus的安装程序,用于在用户的计算机上安装该汇编编译器的完整环境。安装完成后,用户便可以利用其丰富的功能进行汇编语言的编写和调试工作。 MASMPlus作为一款高级的汇编编译器,结合了现代IDE的便利性和汇编语言的灵活性,是学习和开发汇编语言项目的重要工具。通过深入理解和熟练运用,开发者可以更好地驾驭底层编程,实现高效且精确的计算任务。
2025-12-17 17:16:39 3.22MB
1
《深入解析VFP反编译技术:以ReFox.XI.Plus.v11.54.2008.522为例》 在信息技术领域,编程语言的反编译是一项重要的技术,它能帮助开发者理解和分析已编译的代码,以获取源代码级别的信息。Visual FoxPro(简称VFP)是一款历史悠久的数据库开发工具,因其强大的数据库处理能力而深受程序员喜爱。然而,由于其编译后的程序是二进制形式,直接阅读难度较大,这就需要借助反编译工具。ReFox.XI.Plus.v11.54.2008.522就是这样一款专为VFP设计的反编译软件,被誉为“超强”的存在,本文将详细介绍该软件及其应用。 ReFox.XI.Plus.v11.54.2008.522是由专业团队精心打造的VFP反编译工具,其版本号表明它经过了多次迭代和优化,具有很高的稳定性和准确性。根据用户反馈,“本人亲自测试 反编译VFP很牛!”,可见该软件在实际使用中的表现非常出色。 VFP反编译的核心在于如何从二进制代码还原出尽可能接近原生的源代码。ReFox.XI.Plus.v11.54.2008.522通过复杂的算法和对VFP语法的深度理解,能够识别并重构出大部分编译后的指令,从而提供给用户可读性较高的源码。这对于代码调试、学习他人程序、逆向工程等场景有着显著的价值。 在使用ReFox进行反编译时,首先要确保你拥有合法的VFP编译程序,因为反编译他人的软件可能涉及到版权问题。同时,反编译的结果并不能保证与原始源代码完全一致,可能会丢失注释、变量命名等信息,这是由于编译过程中的优化和去冗余导致的。尽管如此,ReFox提供的信息仍能帮助我们理解程序的逻辑结构和功能。 压缩包内的“注册说明(补充).DOC”文件可能包含了关于软件授权和激活的详细信息,对于合法使用软件至关重要。在使用ReFox之前,务必按照文档的指示正确注册软件,以确保其正常运行和避免法律风险。 ReFox.XI.Plus.v11.54.2008.522作为一款强大的VFP反编译工具,为开发者提供了深入了解和分析VFP程序的可能。尽管反编译过程存在一定的局限性,但结合其他辅助工具和编程知识,我们可以更有效地理解和复用现有的VFP代码资源,进一步推动项目的进展和技术创新。
2025-12-17 14:34:14 3.17MB
1
"libexif 编译后文件" 涉及的核心知识点是关于libexif库的编译和其生成的DLL动态链接库文件。libexif是一个用于读写图像文件元数据(Exif信息)的开源C库,特别适用于处理JPEG、TIFF和RAW格式的图片。在Windows系统中,libexif编译后通常会生成DLL文件,这是一种可执行代码库,可供其他应用程序调用以实现特定功能。 中提到"基于MinGW进行编译",MinGW(Minimalist GNU for Windows)是一个开发环境,它将GNU工具集移植到了Windows平台上,允许开发者使用熟悉的GCC(GNU Compiler Collection)来编译C、C++等语言的程序。MinGW提供了一个轻量级的编译环境,不依赖于Microsoft Visual Studio或其他大型开发套件,使得libexif这样的开源项目能在Windows上顺利编译。 libexif-0.6.21这个文件名可能表示的是libexif库的一个特定版本,0.6.21。在开源软件中,版本号通常遵循一定的规则,如这里的是主版本号.次版本号.修订号,每个数字代表了软件的重要程度或改动范围。在这个版本中,可能包含了错误修复、新功能的添加或者性能优化。 当libexif库被编译为DLL文件后,开发者可以在他们的Windows应用中通过引入这个DLL,利用libexif提供的API来读取和修改图像文件中的Exif信息,例如拍摄日期、GPS坐标、相机型号等。这在处理照片编辑、图像分析或者元数据管理的软件中非常有用。 编译libexif的过程包括以下几个关键步骤: 1. 获取源代码:从libexif的官方网站或者通过Git仓库下载源代码包libexif-0.6.21。 2. 配置环境:安装MinGW,设置好PATH环境变量,确保可以调用gcc等编译工具。 3. 配置编译选项:使用配置脚本(通常是configure脚本)来设定编译参数,如指定目标平台(Windows),选择要编译的组件等。 4. 编译源代码:运行make命令来编译源代码,生成静态库(libexif.lib)和动态库(libexif.dll)。 5. 链接库文件:在开发应用程序时,通过链接器将libexif.lib与应用程序链接,运行时需要libexif.dll在系统路径中。 libexif是一个强大的元数据处理库,其编译后的DLL文件为Windows开发人员提供了便利,使他们能够轻松地在自己的项目中处理Exif信息。理解如何编译和使用这个库对于进行图像处理相关的软件开发至关重要。
2025-12-17 11:29:44 3.04MB LIBEXIF
1
资源下载链接为: https://pan.quark.cn/s/7cc20f916fe3 该压缩包里有mQTT库,它可以直接拿来用。而且,压缩包中还附带了适用于VS2017和VS2019的工程文件,大家要是有需要的话,完全可以借助VS进行自行编译。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛应用于物联网领域,用于设备之间的数据通信。随着物联网设备数量的快速增长,需要一套高效的通信机制来实现设备间的消息传输,MQTT凭借其高效的协议结构、低开销和高可靠性,在物联网应用中脱颖而出。 在Windows平台下,Visual Studio是微软推出的集成开发环境,是进行C++、C#等语言开发的主要工具之一。特别是VS2017和VS2019版本,为开发者提供了更加丰富的功能和更佳的用户体验。为了支持现代处理器架构,这两个版本都支持64位应用程序的开发。 在进行64位MQTT库的编译时,需要考虑到不同的编译器、编译设置和目标平台。例如,使用VS2017和VS2019编译64位应用程序,开发者必须确保编译器设置正确,包括正确的平台目标(x64),以及可能需要的特定库和依赖项。 本压缩包文件提供的资源是为需要在Visual Studio 2017和Visual Studio 2019环境下进行64位MQTT库编译的开发者准备的。通过下载链接获取的资源包中,包含了一系列的文件,其中包括必要的源代码文件、头文件以及为Visual Studio准备的项目文件。这些项目文件预设了正确的编译器和链接器选项,使得开发者能够更加方便地进行库的编译。 项目文件通常包含了工程配置信息,这些信息详细描述了项目的构建过程,包括需要包含的源文件、头文件的路径、宏定义、编译选项等。在64位MQTT库的项目文件中,开发者可以查看到编译器指令和链接器设置,以确保编译出适用于64位系统的库文件。 开发者在下载并解压资源包之后,可以通过Visual Studio打开预设的工程文件,进行项目设置的查看和修改。若需要进行自定义的编译设置,开发者可以根据实际情况调整项目的配置。例如,添加或移除特定的编译选项、路径设置、库文件引用等。完成设置后,便可以使用Visual Studio的强大功能进行编译和调试。 该压缩包文件为在Visual Studio 2017和VS2019环境下进行64位MQTT库编译的开发者提供了一整套便利的解决方案。它不仅包含了MQTT库的源代码和预设的工程文件,还提供了详细的编译指导,使得开发者可以快速上手,减少不必要的设置时间,提高开发效率。
2025-12-17 10:47:25 272B
1
《C minus编译器实现》 在编程领域,编译器是将高级语言转换为机器可执行代码的关键工具。本项目专注于实现"C minus"这一简化版的C语言编译器,名为"C minus编译器"。它基于《Compiler Construction Principles and Practice》这本书中的理论和实践,旨在提供一个基础的编译器构建过程的学习平台。 C minus是一种教学语言,它包含了C语言的基本元素,如变量声明、赋值、算术运算、控制流结构(如条件语句和循环),但剔除了指针和其他复杂的特性,以便于理解和学习编译原理。通过实现C minus编译器,我们可以深入理解编译器的工作原理,以及词法分析、语法分析、语义分析和代码生成等编译过程的每个阶段。 在C minus-master这个压缩包中,我们通常可以找到以下组成部分: 1. **源代码**:包含编译器的各个模块,如词法分析器(lexer)、语法分析器(parser)、抽象语法树(AST)生成、类型检查和代码生成器。这些模块通常用一种高级语言(如Python、Java或C++)编写,以实现对C minus语言的解析和转换。 2. **规范或文法文件**:定义了C minus的语言文法,通常以巴科斯范式(BNF)的形式给出,用于指导语法分析器的构建。 3. **测试用例**:一组C minus源代码文件,用于验证编译器的正确性。这些测试用例覆盖了各种语言特性,包括基本的数据类型、运算符、流程控制等。 4. **Makefile**:自动化构建脚本,用于编译和链接编译器的源代码,以及运行测试用例。 5. **文档**:可能包含项目的介绍、设计决策、使用指南等,帮助用户理解并使用编译器。 实现C minus编译器的过程中,我们需要关注以下关键知识点: - **词法分析**:识别输入的字符流,将其转化为有意义的符号(tokens),如关键字、标识符、常量和运算符。 - **语法分析**:根据文法规则解析tokens序列,构建抽象语法树(AST)。这通常通过递归下降解析或LR/LALR解析器实现。 - **语义分析**:检查程序的语义,例如类型一致性、变量声明等,确保程序符合C minus的语法规则。 - **中间代码生成**:将AST转化为一种中级表示,如三地址码或四元式,便于优化和目标代码生成。 - **代码生成**:将中间代码转化为特定机器架构的目标代码,如汇编语言,最后由链接器生成可执行文件。 学习和实现C minus编译器不仅可以深化对编译原理的理解,还能提升问题解决和软件工程能力,因为这涉及到了程序设计、数据结构和算法等多个领域的知识。同时,这个过程也是向更复杂编译器(如C、C++或Java)迈进的第一步,对于计算机科学的学习者来说,这是一个宝贵的实践经验。
2025-12-17 10:30:45 62KB C-minus minus
1
编译原理 词法及语法 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符流形式的源程序转化为一个由各类单词符号组成的流的词法分析方法。 通过设计、编制、调试一个典型的语法分析程序(任选一种有代表性的语法分析方法,如算符优先法、递归下降法、LL(1)、SLR(1)、LR(1)等,作为编制语法分析程序的依据),对扫描器所提供的单词序列进行语法检查和结构分析,实现并进一步掌握常用的语法分析方法。 ### 编译原理实验报告知识点总结 #### 实验一:词法分析程序实现 ##### 实验设计 **实验目的与要求** - 掌握词法分析的基本原理与方法。 - 学会如何将源程序中的字符流转换为一系列有意义的单词符号。 **基本实验题目** - 构造一个词法分析程序,能够识别以下特定语言中的词汇单元: - 五个关键字:`begin`, `end`, `if`, `then`, `else` - 标识符:以字母开头的字母数字串 - 无符号常数 - 六种关系运算符:<, <=, =, <>, >, >= - 赋值符 := 和四种算术运算符:+, -, *, / **实验步骤** 1. **单词的分类与编码**:定义一个单词符号及其分类码表,如上所述的表格。 2. **有限状态自动机(DFA)的设计**:构建用于识别单词的DFA,如图I所示。每个状态代表单词识别的一个阶段。 3. **语义变量及函数**:定义必要的辅助函数和变量来支持词法分析的过程: - **GETCHAR**:获取下一个字符。 - **TOKEN**:用于存储当前正在识别的单词的字符序列。 - **CAT**:向TOKEN追加字符。 - **LOOKUP**:查找关键字表,确定单词类别。 - **RETRACT**:将扫描指针回退一个字符。 - **OUT**:输出识别完成的单词及其类别。 **扩展无符号常数的处理** - 使用右线性文法G1[<无符号数>]来描述无符号常数的结构。 - 构建状态转换图(如图II所示)来辅助识别过程。 - 在识别过程中,根据状态矩阵(如表II所示)逐步转换字符串形式的无符号数为内部表示形式(二进制整数或浮点数)。 **基本思路** - 关键字识别通过查询关键字表实现。 - 无符号整数识别需将数字串转化为浮点数FCON。 - 主程序入口为`t_main()`函数,负责打开文件`file.txt`,调用`scanner`函数对文本进行扫描,并使用`out()`函数输出识别结果。 **流程图** - **主程序流程图**:从打开文件到调用词法分析器,再到输出结果的完整过程。 - **扫描子程序流程图**:展示如何逐一处理输入字符,识别单词,并输出其类别。 --- #### 实验二:语法分析程序实现 ##### 实验设计 **实验目的与要求** - 设计并实现一个语法分析器,能够检查由词法分析器提供的单词序列是否符合给定语言的语法规则。 - 学习并应用一种语法分析方法,例如算符优先法、递归下降法、LL(1)、SLR(1)、LR(1)等。 **实验步骤** 1. **选择一种语法分析方法**:根据实验要求选择合适的分析算法。 2. **设计文法**:定义目标语言的上下文无关文法。 3. **构造分析器**:基于所选分析方法构建语法分析器。 4. **测试与调试**:通过测试数据集验证语法分析器的有效性和正确性。 **基本思路** - 选择一种适合的语法分析方法,比如LL(1)或LR(1)。 - 设计具体的上下文无关文法规则来描述目标语言的语法结构。 - 构建相应的语法分析器,可以是递归下降解析器或者基于表驱动的分析器。 - 编写测试用例来验证语法分析器的准确性。 **流程图** - **整体流程图**:从接收词法分析器输出到进行语法检查,再到输出结果的全过程。 - **具体分析子程序流程图**:展示如何使用选定的语法分析方法处理输入的单词序列。 --- ### 总结 本实验旨在深入理解编译原理中的词法分析与语法分析两个重要环节。通过亲手编写和调试词法分析程序和语法分析程序,不仅掌握了词法分析的基本技术,还学会了如何运用不同的语法分析方法来构建有效的语法分析器。这些实践经历对于深入理解高级编程语言的内部工作机制具有重要意义。此外,通过本实验还能增强解决实际问题的能力,提升编程技巧和调试能力。
2025-12-16 21:18:04 363KB 编译原理 词法及语法
1
.NET Reflector是一个类浏览器和反编译器,可以分析程序集并向你展示它的所有秘密。.NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念。反射还可以用来检索有关特定程序集中包含的各种类、方法和属性的信息。使用 .NET Reflector,你可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic .NET 中的等价类和方法。 内附Crack目录中有txt,按照说明即可破解。文件夹中已经附有FileDisassembler插件,请自行添加。
2025-12-16 17:26:51 3.47MB 类浏览器 反编译器
1