APP生成框架是用于在没有复杂的技术编程的情况下实现APP开发的框架。使用APP生成框架开发APP可以大大简化开发步骤,缩短开发周期,并在一定程度上节省开发成本。因此,越来越多有发展需求的人成为APP生成框架的用户,其中许多人是黑人和灰人生产者。
在持续监控Android黑灰生产的过程中,360篝火实验室发现越来越多的黑灰开发商倾向于使用APP生成框架来开发黑灰应用。自2016年以来,我们在勒索软件黑色生产研究中发现了Android Easy Language(E4A)生成的大量勒索软件应用程序。事实上,E4A只是市场上众多APP生成框架之一。在这一年中,我们收集了数以万计的APP生成框架,同时捕获了使用这些APP生成框架开发的数百万个黑灰色应用程序。
图1显示了2014 - 2018年黑灰总产量框架中黑灰生产APP的比例。自2016年以来,APP开发的黑灰产量的数量和比例急剧增加。到2018年,全年黑灰总产量APP的22%是由该框架开发的。从黑灰生产APP比例发展的角度出发,黑灰生产APP呈现整体框架趋势。 APP生成框架为黑灰生产提供了低成本的APP生产路径,同时帮助许多用户实现他们的发展梦想。
图1 2014 - 2018年框架的黑白生产APP占全年APP总量的比例
APP生成框架介绍
APP生成框架分类
APP生成框架不限于特定形式,并且可以是APP,SDK,包,开源工具,支持库等。通过这些形式,开发者可以快速生成零编程的APP或者编程较少,生成的APP代码结构高度一致且重复。速度非常高,我们将这些不同的形式称为框架。
不同形式的框架在其使用和实现原则上有所不同。目前,我们收集的框架可分为五类:
图2五种APP生成框架的典型特征
一键包装
一键打包的本质是将相应的URL,接口或脚本插入到给定的APP模板中以生成Web应用程序。根据使用的不同,它可以细分为直接包装和DIY包装。与直接包装相比,DIY包装可以定制。 APP显示设计中的界面和组件样式更加灵活。包装平台通常提供多种模板供用户根据APP的类型进行选择,如电子商务模板,社区约会模板等。一键打包是典型的零编程APP生成框架,但通常要求开发人员拥有相应的网站,商店或Web脚本,并且在APP风格中相对固定。开源工具和库
开源工具或库(以下简称“工具库”)以工具APP的形式安装到手机或SDK嵌入式应用程序中,并封装Android原生API,为开发人员提供各种APP开发功能接口,使用方式。与一键打包相比,工具库框架在功能和形式多样性方面更强大,而成熟的工具库通常很容易找到许多源库来提供功能支持,但使用工具库框架需要开发人员确定代码写入和读取。能力,使用的整体难度略高于一键式包装。
插件框架
插件框架是一个框架,它使用shell APP加载真实的APP,并通过反射,Hook和动态加载机制以插件形式运行它。插件框架开发还要求开发人员具有某些编码功能。使用插件框架开发APP需要两个部分:shell APP和真正的APP。 shell APP与真实APP没有固定的对应关系。也就是说,shell APP可以加载任何真正的APP。 APP也可以由任何shell APP打包,这是一种广泛用于APP批量开发的功能。
外包框架
与其他“工具”框架不同,外包框架是将开发需求提交给外包平台,平台实现APP开发框架。与传统外包不同,外包框架开发的APP代码结构高度一致,具有较高的功能重复率和典型的框架特征。我们收集的外包框架全部来自国外,大多数只承担特定类型的APP开发。
APP发电机
除了以上四种类型的框架外,我们还发现了一个特殊的框架—— APP生成器。 APP生成器通常来自各种帖子栏,论坛或QQ群。这是一键式打包框架的特例。与传统的一键式包装不同,APP发生器本身是一种APP,只能在安装在手机中后使用。一键式生成特定种类的APP,通常是特定的灰黑色APP。
图3显示了由上述五种框架开发的APP的分布。工具库最常用于框架开发,其次是插件框架和一键打包。三者的总比例高达92%。长而昂贵,很少有开发人员会选择外包框架。
图3由五种框架开发的APP的分布
APP生成框架使用概述
APP生成框架已经存在了很长时间。在Android系统发布不到两年后,各种Android框架开发工具已经出现并迅速传播开来。截至2019年初,该框架的总样本生成已达到800万。