本文详细介绍了对i茅台App进行逆向分析的过程,重点探讨了如何绕过其frida反调试机制。文章首先介绍了使用的工具和环境,包括frida 14.2.17和安卓9系统。随后,作者通过hook安卓系统的libdl.so中的android_dlopen_ext函数,定位到反调试可能出现在libnesec.so文件中。通过进一步分析,作者确定了反调试线程的具体偏移地址,并最终通过替换反调试线程函数为空函数的方式,成功绕过了frida检测。文章提供了详细的代码示例和操作步骤,为逆向工程爱好者提供了宝贵的参考。 逆向工程是一个复杂的过程,它涉及到对应用程序的代码进行深入分析和理解,以掌握其工作原理和功能。在本文中,作者详细阐述了对i茅台App进行逆向分析的过程,这一过程对于安全研究人员、开发者或是对技术感兴趣的用户来说,具有极大的参考价值。 作者介绍了进行逆向分析所需的工具和环境设置。在软件开发领域,尤其是在移动应用安全测试中,Frida是一个广泛使用且功能强大的工具,它允许研究人员动态地分析应用程序行为,进行调试和修改。文章中指出,作者使用了Frida 14.2.17版本,搭配了安卓9系统环境,这是目前广泛使用的平台之一,具有良好的兼容性和稳定性。 逆向分析的核心步骤是定位和绕过应用中的安全机制,以获取深层次的信息。作者在分析过程中,特别关注了绕过i茅台App的Frida反调试机制。通过hook安卓系统的libdl.so中的android_dlopen_ext函数,作者能够深入到加载动态链接库的过程中。通过这个方法,作者定位到了反调试的迹象出现在libnesec.so文件内,这是实现逆向分析的关键一环。 成功定位反调试代码之后,作者并没有止步,而是继续深入分析了反调试线程的具体偏移地址。在软件开发中,理解执行流程中各部分代码的具体作用对于实现功能的绕过至关重要。通过这一系列的逆向工程操作,作者最终找到了一种方法,能够将反调试线程函数替换为空函数,从而成功绕过了Frida检测。 文章详细地记录了每一步操作过程,并提供了代码示例和操作步骤,这对于逆向工程领域的爱好者来说,无疑是一个宝贵的资源。这些内容不仅帮助读者更好地理解i茅台App的内部机制,还提供了如何应对和绕过反调试手段的实用方法。 此外,文章中提到的技术和方法也不局限于对i茅台App的分析,实际上,这些知识和技术可以在逆向工程其他应用时同样适用。它展示了逆向工程作为一种技术手段,在提高软件安全性和确保应用完整性方面所起的重要作用。 在软件开发的实践中,代码的安全性一直是一个重要议题。逆向工程的目的是为了更好地理解和提高应用程序的安全性,防止恶意的利用和攻击。尽管逆向工程可能涉及到一些道德和法律的争议,但不可否认的是,它在技术进步和提升软件质量方面扮演了不可或缺的角色。 文章的作者通过实际案例和详细的步骤说明,不仅展示了逆向工程的强大能力,也强调了其在信息安全领域的应用价值。本文的阅读者,无论是专业人员还是普通爱好者,都能从中获取宝贵的知识和经验,进而提升自己在相关领域的技能水平。
2026-04-08 17:49:51 6KB 软件开发 源码
1
本文详细介绍了拼多多anti_content参数的逆向分析过程。首先通过全局搜索定位到加密参数的位置,并分析其生成逻辑。文章指出anti_content的加密值是通过Object(l.a)()方法生成,并详细描述了如何定位和扣取相关webpack代码。此外,文章还介绍了补环境的方法,包括如何补全document、window等浏览器环境,以及如何使用vm2沙箱进行调试。最后,提供了完整的vm.js和enviroment.js代码示例,帮助读者理解如何在实际操作中实现参数加密。文章强调,补环境的过程需要逐步完善,以适配更多网站。 在深入探索拼多多平台的安全机制时,我们遭遇到了一种特殊的参数加密技术,名为anti_content。这项技术旨在防止未授权的爬虫程序和自动化脚本访问拼多多网站内容,保证了网站数据的安全和平台的利益。然而,在安全研究领域中,理解并掌握这种技术的逆向过程是研究者的一项重要技能。 逆向工程是将已编译的软件程序还原为更易于理解的代码形式,以此来分析和理解软件的行为。在本项目中,研究者通过全局搜索的方式成功定位到了anti_content参数的加密位置,并逐步分析了它的生成逻辑。这个过程需要极高的技术敏感性和深厚的编程功底,特别是对JavaScript语言和webpack构建过程的理解。 在文章中,详细阐述了anti_content的加密值是如何通过Object(l.a)()方法生成的,这涉及到对JavaScript对象及其属性的深入理解。研究者不仅指出了加密值的生成方法,还详细描述了如何定位和提取与之相关的webpack代码。webpack作为一种模块打包工具,在现代Web开发中广泛应用,它负责将多个模块打包成一个或多个包,并进行优化。 除了加密值生成方法的分析之外,文章还深入探讨了补环境的方法。补环境是指在逆向工程中,创建一个模拟真实环境的虚拟环境,使加密代码在虚拟环境中可以正常运行。这通常涉及到对document、window等浏览器环境的模拟,以及使用vm2这样的沙箱环境进行调试。vm2是一个轻量级的虚拟机模块,可以在Node.js环境中执行JavaScript代码,而不影响主程序。这对于安全研究者来说是极其重要的工具,因为它既保证了安全,又提供了充分的调试功能。 文章不仅提供了理论分析,还提供了实际操作的代码示例,包括vm.js和environment.js的具体代码。通过这些代码,读者可以理解如何在实际操作中实现参数的加密。这对于那些希望学习和应用逆向工程技术的开发者来说是非常宝贵的资源。 文章强调,补环境的过程需要逐步完善,这表明逆向工程并非一蹴而就,而是一个需要持续跟进、测试和完善的过程。这个过程必须适应不同网站的特定需求,从而能够有效地还原和分析加密参数的生成逻辑。 这篇文章为读者提供了一条清晰的逆向分析路线图,从全局搜索到加密值生成逻辑的分析,再到补环境和沙箱调试的技术细节。这不仅涉及到理论知识的传授,更重要的是提供了实践经验的分享,这对于从事逆向工程、Web安全或JavaScript开发的专业人士来说,无疑是一份宝贵的参考资料。
2026-04-08 06:02:24 6KB
1
本文详细分析了某赚网WebSocket协议与Webpack结合的逆向过程。文章首先声明了内容仅供学习交流使用,并强调了禁止用于商业和非法用途。随后,作者通过抓包分析发现目标网站使用WebSocket协议进行实时数据传输,并通过断点调试确定了关键加密参数的位置。文章还对比了HTTP与WebSocket协议的区别,并详细介绍了如何通过Webpack模块导出加密函数,最终实现了Python端的WebSocket请求构造与密文数据的处理。整个过程涵盖了协议分析、加密参数逆向及代码实现,为读者提供了全面的技术参考。 在文章中,作者深入探讨了WebSocket协议的技术细节,并且展示了如何与Webpack模块化开发工具结合来执行逆向工程。作者声明了文章内容的用途,明确指出仅供学习交流,不允许用于商业或非法行为。文章接着介绍了作者通过网络抓包工具对目标网站的数据传输协议进行了分析,发现该网站采用了WebSocket协议进行实时数据通信。作者进一步使用断点调试技术,精确定位到了加密数据的关键参数。 文中还详细阐述了WebSocket协议与传统的HTTP协议的区别,比如WebSocket支持双向通信和实时交互,而HTTP是请求-响应模型。这些理论知识对于理解作者后续的逆向过程至关重要。 接着,作者详细说明了如何利用Webpack导出加密函数,并通过逆向工程方法,逐步解析出加密算法的内部逻辑。文章进一步演示了如何在Python环境中构造WebSocket请求,并对密文数据进行处理和解析。整个逆向工程的步骤不仅涉及了技术原理的解读,还包括了代码级别的实现细节。 这一逆向工程的过程,包括了对协议的分析、对加密参数的逆向推断,以及最终的代码实现,构成了一个完整的技术实现案例。作者通过这一系列操作,为读者提供了一个全面的技术参考指南,涵盖了从理论到实践的全过程。 文章内容不仅为初学者提供了学习WebSocket通信协议和Webpack模块化开发的宝贵经验,而且为有经验的开发者展示了逆向工程和网络安全领域的深入知识。通过这种方式,读者可以更好地理解WebSocket协议的工作原理,并学会如何处理和分析加密数据。 文章内容的深度和广度都非常丰富,特别是对于需要进行实时通信和数据加密处理的开发者来说,具有很高的实用价值和参考意义。作者所展示的逆向工程技巧和代码实现方法,对于提高软件安全测试和网络通信分析能力都有极大的帮助。 文章的内容还凸显了软件开发者在进行网络协议逆向时需要具备的法律和伦理意识。作者特别强调了逆向工程仅限于学习和研究目的,这一提示对于遵守相关法律法规和维护网络安全环境具有重要作用。 文章通过具体的代码示例和详细的操作步骤,使得内容变得易于理解和操作。即便对于那些不熟悉WebSocket和Webpack的读者,文章也提供了一个清晰的学习路径,帮助他们掌握如何分析和处理复杂的网络通信数据。
2026-04-04 09:49:53 38KB 软件开发 源码
1
本文详细介绍了维普期刊(瑞数6)的JS逆向实战流程。作者首先声明所有内容仅供学习交流,并已对敏感信息进行脱敏处理。技术流程包括清空网站cookie、扣取js代码到本地并补环境,特别提醒瑞数6的外链js有格式化检测,扣取时不要格式化。作者还分享了补环境的技巧,如打印日志检测缺失内容,并通过网页联调解决函数报错问题。最后,作者展示了结果并总结,表示愿意分享完整代码并讨论学习中的疑问。 在深入探讨逆向工程的过程中,网络爬虫技术的应用是不可或缺的环节之一,它允许开发者或研究者分析和理解特定网站的行为和结构。本文聚焦于维普期刊(瑞数6)的JavaScript逆向分析,该技术在处理具有复杂防护措施的网站时尤其关键。文章首先提出了逆向分析的前期准备工作,强调了对网站cookie的清除以及将目标JS代码下载到本地环境中的重要性。在操作过程中,作者特别警告了对瑞数6外链js的格式化问题,因为不当的格式化会触发网站的防护机制。为了解决这个问题,文章详细介绍了如何补全本地环境,例如通过打印日志来监测并补充缺失的部分内容,以及如何通过网页联调来解决函数执行时的报错。这些技巧对于那些在逆向工程领域寻求突破的技术人员来说,具有极高的参考价值。在实践中,这些方法被证明是有效的,作者不仅展示了分析的结果,还表达了愿意提供完整的代码,并对学习中的疑问进行讨论。这表明作者对开源社区和知识分享持开放态度,他的努力不仅有助于促进技术交流,也为同领域内的研究人员提供了宝贵的学习资源。 在整个逆向分析流程中,对脱敏处理的重视同样值得关注。在分享和交流知识的同时,保护个人和公司的数据安全始终是一个重要考量。这种负责任的态度对于任何试图通过逆向工程学习和研究的个人或团队来说,都是一种应该遵循的准则。因此,本文不仅在技术层面上提供了翔实的分析流程,也展示了严谨的研究态度和高度的责任心。 此外,本文的标签“JS逆向”、“爬虫技术”和“瑞数6反爬”清晰地指出了文章的核心内容和聚焦点。这些标签帮助读者快速把握文章的主旨,并识别出其在逆向工程和网络爬虫技术领域中的具体应用。标签的使用有助于将文章分类和索引,方便了相关信息的检索和回顾。而对于“瑞数6”这个特定的防护技术的提及,也体现了作者在逆向分析中遇到的具体挑战,以及如何克服这些挑战的详细过程。这不仅为读者提供了学习的路径,也为研究者在面对类似问题时提供了可能的解决方案。 本文通过详细介绍维普期刊逆向分析的实践过程,为网络爬虫技术的研究和应用提供了深入的技术见解。通过作者的分享,我们可以看到逆向工程在当今网络安全和数据抓取领域的重要性,以及在实际操作过程中必须遵循的规则和技巧。这些内容的详细介绍和分享,不仅有助于技术社群的成长,也为网络安全领域的发展贡献了力量。
2026-01-26 21:44:03 6KB JS逆向 爬虫技术
1
本文详细分析了Akamai逆向过程中的代码结构检测机制。通过跟踪异常堆栈,作者发现代码结构检测主要围绕关键函数的字符串操作展开。具体分析了T3、E4、t2等变量的定义和逻辑,揭示了代码结构改变如何导致错误。文章还深入探讨了M2()["Hg"]函数字符串的处理逻辑,包括Y9、d2、M函数等关键步骤,展示了代码结构变化如何影响最终结果。最后,作者提出通过hook函数的toString方法快速定位检测点的建议,为逆向分析提供了实用技巧。
2026-01-20 13:41:21 7KB 软件开发 源码
1
本文详细记录了拼多多(pdd)anti_content参数的逆向分析过程。作者从接口定位、加密参数生成位置追踪、控制流分析到代码扣取与环境补全,逐步拆解了anti_content的生成逻辑。关键发现包括:异步控制流嵌套、时间戳参数(updateServerTime)的依赖、鼠标轨迹数据的非必要性验证等。文章还分享了排查经验,如长度差异问题可能源于环境补全遗漏,并指出实际逆向过程比文中描述更为复杂,需结合大量实践。最后作者预告下一站将分析抖音(douyin)的逆向技术。全文以技术学习为目的,强调禁止商业用途。 在本文中,作者详细记录了对拼多多平台中anti_content参数逆向分析的全过程。逆向工程是一个复杂的技术过程,它涉及到对软件运行机制和数据处理逻辑的深入理解。在本案例中,逆向的目标是理解anti_content参数如何在拼多多平台的接口中工作。 分析的起点是对拼多多平台接口的定位。这一步骤通常包括确定软件中相关的API调用以及它们是如何被触发的。通过接口定位,作者可以了解哪些关键功能与anti_content参数相关联,并确定进一步探索的方向。 接下来,作者追踪了加密参数生成位置。逆向加密算法是逆向工程中最具有挑战性的部分之一。作者需要识别并理解生成anti_content所涉及的算法逻辑,这包括算法所依赖的各种变量和密钥。控制流分析是理解程序如何在不同条件下执行不同代码路径的过程。在这个案例中,作者特别关注了异步控制流嵌套的使用,这是现代软件中常见的技术,用于处理并发任务和优化性能。 代码扣取与环境补全是逆向工程中的实用步骤。代码扣取涉及到从程序中提取出关键代码片段,而环境补全是确保提取的代码能在开发者的本地环境中正确运行。在这个过程中,作者还发现了一些反逆向技术,例如使用鼠标轨迹数据来增强安全性,但最终确认其并非生成anti_content的必要条件。 文章中提到的经验分享部分是作者在逆向过程中的一些个人体会,对于新手来说尤其宝贵。作者强调了环境补全的重要性,并且指出了长度差异可能是因为环境设置上的一个常见错误,比如遗漏某些必要的软件包或配置。 作者强调了逆向工程的实践性,即只有通过大量的实际操作和不断的尝试,才能真正理解和掌握逆向技术。文中提到的逆向过程往往比文章描述的更为复杂,需要研究者具备良好的技术功底和耐心。 在文章的末尾,作者预告了将会对抖音的逆向技术进行分析,这表明作者将持续关注当前流行的软件平台,并尝试揭示其背后的工作原理。 文章的目的是技术学习和知识分享,作者特别强调禁止将本技术用于任何商业用途。这反映出技术研究者对于技术应用的道德责任,以及对知识产权保护的尊重。通过对技术细节的深入探讨,本文为软件安全领域的研究者和实践者提供了一份宝贵的参考资料。
2025-12-25 22:58:12 5KB 软件开发 源码
1
本文详细分析了Akamai的反爬机制,重点探讨了其请求链路中的特征和验证逻辑。文章首先介绍了Akamai的请求流程,包括两次请求(GET和POST)及其返回内容,重点关注了sensor_data的生成逻辑和cookie验证机制。随后,文章深入分析了关键参数如ver、ajr、din等的生成方式,揭示了这些参数背后的算法逻辑和动态变化规律。此外,文章还提供了定位入口和分析方法,帮助读者理解如何通过浏览器调试和算法还原来破解Akamai的防护。最后,文章总结了纯算法实现和补环境两种方法的适用场景,并提供了进一步优化的建议。 在深入探讨Akamai的反爬机制时,首先应当了解其背后的网络请求过程。Akamai作为一种广泛使用的CDN和网络安全服务提供商,其反爬机制包括两个主要请求,一次是GET请求,一次是POST请求,每个请求都有其特定的返回内容。文章详细解释了这些请求的流程和返回数据的处理方式。 在GET请求中,通常需要从服务器获取初始数据,而POST请求则负责提交经过验证的必要数据,以获取最终的资源。文章特别关注了sensor_data的生成逻辑,这是理解Akamai反爬机制的关键之一。它通常由JavaScript代码在客户端执行生成,并且与Akamai的后端进行交互,以确保请求来自合法用户。 另一个核心组件是cookie验证机制。Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它在后续的用户请求中会被携带,用以验证用户的合法性。文章对如何构造有效的cookie进行了深入研究,包括它的过期时间、作用域以及如何通过网络请求中的特定参数来维护cookie的有效性。 文章进一步深入探讨了Akamai请求链路中的一些关键参数,例如ver、ajr、din等。这些参数通常在客户端生成,并在后续的请求中使用。了解它们的生成方式对于模拟正常用户行为,绕过Akamai的反爬机制至关重要。文章揭示了这些参数背后的算法逻辑以及它们是如何随着用户的不同行为而动态变化的。 为了帮助读者更全面地掌握Akamai的反爬破解技术,文章提供了定位入口和分析方法。这包括利用浏览器的开发者工具进行网络请求的调试,以及对Akamai生成的参数和返回数据进行算法还原。这种方法强调了对Akamai防护机制的逆向工程,使得破解过程更加直观和易于理解。 在文章的作者总结了纯算法实现和补环境两种方法的适用场景。纯算法实现指的是仅仅通过理解和模拟Akamai参数生成的算法逻辑来绕过反爬机制;而补环境则是指在请求过程中模拟出一个合法用户的环境,包括IP、User-Agent等信息,来欺骗Akamai的反爬系统。作者还对两种方法的优缺点进行了详细分析,并给出了进一步优化的建议,以便读者可以根据实际情况选择最合适的破解策略。 Akamai逆向分析不仅是对技术细节的深入探讨,它还涉及到对网络安全、逆向工程和网络请求分析等领域的理解。因此,对于那些希望深入研究网络安全和提高网站防御能力的开发者来说,这份文档提供了一个宝贵的参考。通过对Akamai逆向分析的掌握,开发者能够更好地理解反爬机制的实现原理,从而设计出更为有效的防护措施,同时也能在一定程度上帮助他们提高对攻击手段的防范能力。
2025-12-08 12:57:22 9KB 软件开发 源码
1
本文详细介绍了对Boss直聘网站中关键参数__zp_stoken__的逆向分析过程。作者首先强调了该参数的重要性,缺少它会导致访问异常。随后,文章详细描述了补环境的步骤,包括处理window对象、navigator插件、document.all检测等关键点。此外,还提到了Node关键字检测、报错检测和堆栈检测等技术细节。最后,作者分享了请求时的注意事项,如IP限制和请求频率控制,并展示了最终的成功请求结果。整篇文章为学习逆向工程提供了实用的技术参考。
2025-12-04 15:30:55 13KB 软件开发 源码
1
本文详细分析了得物小程序中sign签名加密、请求参数解密以及响应数据解密的逆向过程。首先通过搜索特定接口定位到sign加密的关键函数,发现其使用md5加密方式生成sign。接着解析了请求参数的明文和密文转换过程,以及如何通过特定函数生成加密的请求参数。最后,文章介绍了响应数据的解密方法,通过Fun99函数实现数据解密并获取最终结果。整个过程涉及多个关键函数和加密步骤,为逆向分析提供了详细的技术参考。 在当今互联网应用快速发展的时代,信息安全与数据保护成为了至关重要的问题。本文针对得物小程序的加密机制进行了深入的技术剖析,旨在揭示其内部加密和数据处理流程。通过逆向工程的手段,我们可以发现得物小程序在数据传输过程中使用了一系列安全措施以保证通信安全。其中,sign签名的生成是保证数据完整性和身份验证的关键一环。通过对特定接口的深入分析,我们确定了sign签名生成所采用的加密算法为md5。这种算法虽然已不是最安全的选择,但在很多应用中仍广泛使用,因为其具备操作简单、速度快等优势。不过,md5算法容易受到碰撞攻击,所以仅依靠md5进行签名验证存在一定的风险。 在对请求参数的处理方面,得物小程序采取了明文与密文相互转换的策略,确保了敏感数据在传输过程中的安全性。这种转换过程涉及到了特定函数的应用,这些函数的作用是将明文数据加密成密文,并在接收端再进行解密还原,以保障数据在传输过程中不被轻易截获和篡改。这一系列的加密解密流程,体现了得物小程序对数据安全的重视。 文章还详细介绍了响应数据的解密方法。得物小程序通过Fun99函数来实现数据的解密,并成功获取最终的数据结果。Fun99函数作为数据解密的工具,它的使用让得物小程序在处理响应数据时能够保持高效和安全。这种解密技术的使用,确保了用户在小程序中的数据交互不会轻易被外部威胁所威胁。 逆向工程并不仅限于破解和攻击,它更是一种深入理解软件工作原理的手段。本文通过逆向分析的方式,详细介绍了得物小程序的加密与解密机制,为相关的技术研究人员提供了宝贵的信息和参考。对于软件开发者而言,了解和掌握自己的产品安全机制,避免潜在的安全漏洞,仍然是开发过程中极为重要的一环。 此外,对于网络安全和小程序开发者来说,本文提供了关于如何处理数据加密和安全传输的技术参考,有助于提升小程序的安全性能。同时,也强调了逆向工程技术在提升软件安全性和透明度方面所发挥的重要作用。在保护个人数据和用户隐私日益受到关注的今天,本文的研究成果具有积极的现实意义和应用价值。
2025-11-26 10:03:03 542B 逆向分析 数据加密
1
本文分享了作者对a_bogus加密的逆向分析过程。作者通过参考相关文章和B站视频(版本V1.0.1.5),成功逆向出a_bogus的生成逻辑,并指出关键点如_tnc_request_url的重要性及a_bogus生成位置的影响。整个分析耗时两天,最终实现了完美调用。文末提供了交流方式,包括网址和扫码联系途径。 在本文中,作者详细分享了对a_bogus加密技术的逆向分析过程。作者首先参考了相关文章和B站视频(版本V1.0.1.5),然后通过逐步分析,揭示了a_bogus加密生成逻辑。在分析过程中,作者特别强调了_tnc_request_url的重要性,指出其在加密过程中的关键作用。同时,作者还发现a_bogus生成位置的影响,这一发现对于理解整个加密机制至关重要。 作者通过对a_bogus的逆向分析,成功掌握了其生成逻辑,整个分析过程耗时两天。在分析结束时,作者不仅完全理解了a_bogus加密的机制,而且达到了能够完美调用的程度。这表明作者的逆向分析技能相当扎实,能够深入理解复杂的加密技术,并在实际应用中发挥出来。 文章的作者提供了交流方式,包括网址和扫码联系途径,以便读者在理解过程中遇到问题可以及时与作者沟通。这样的交流方式能够更好地帮助读者解决实际问题,提升学习效率。 在软件开发领域,对加密技术进行逆向分析是一项非常重要的技能。通过逆向分析,开发者可以更好地理解加密技术的工作原理,提升对加密和安全技术的认识。同时,逆向分析对于软件包、源码、代码包的安全性分析具有重要的意义。它可以帮助开发者找到可能存在的安全隐患,提高软件的整体安全性。 在实际应用中,开发者往往需要对各种加密技术进行深入分析,以确保软件的安全性。尤其是在开发涉及金融、数据处理等敏感信息的软件时,对加密技术的逆向分析尤为重要。通过逆向分析,开发者可以发现加密技术的潜在缺陷,对软件进行优化,从而提升软件的稳定性和安全性。 对于a_bogus这样的加密技术,逆向分析不仅可以帮助开发者掌握其工作原理,还可以发现潜在的改进空间。比如,在本文中作者提到的_tnc_request_url的重要性以及a_bogus生成位置的影响,这些发现对于后续的软件开发和优化具有重要的指导意义。开发者可以根据这些关键点,对软件进行相应的改进,提升软件的安全性和稳定性。 本文不仅为读者展示了一个完整的逆向分析过程,还提供了深入理解加密技术、提升软件安全性的案例。作者通过具体的技术分析,为软件开发领域提供了宝贵的实践经验。
2025-11-25 15:40:43 6KB 软件开发 源码
1