【开源】SpringBoot框架开发APK检测管理系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 数据中心模块
    • 2.2 开放平台模块
    • 2.3 软件档案模块
    • 2.4 软件检测模块
    • 2.5 软件举报模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 数据库设计
      • 3.2.1 开放平台表
      • 3.2.2 软件档案表
      • 3.2.3 软件检测表
      • 3.2.4 软件举报表
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询开放平台
    • 5.2 新增开放平台
    • 5.3 查询软件档案
    • 5.4 新增软件举报
    • 5.5 新增软件检测
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的APK检测管理系统,包含了软件档案模块、软件检测模块、软件举报模块、开放平台模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,APK检测管理系统基于角色的访问控制,给软件管理员、普通用户使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

随着移动应用的迅猛发展,APK文件的数量和复杂性日益增加,给应用市场的安全性和稳定性带来了巨大挑战。为了提高APK文件的检测效率和准确性,本论文提出了一种基于大数据和机器学习的APK检测系统。该系统利用大数据技术对海量的APK文件进行收集和存储,并采用特征提取和特征选择方法对APK文件进行表征。通过构建一个深度学习模型,对APK文件进行分类和检测,以识别潜在的恶意软件和安全隐患。实验结果表明,该系统在APK检测的准确性和效率方面表现出色,对于提高移动应用的安全性具有重要意义。

1.2 项目录屏


二、功能模块

APK检测系统的功能性需求主要包含数据中心模块、开放平台模块、软件档案模块、软件检测模块、软件举报模块这五大模块,系统是基于浏览器运行的web管理后端,其中各个模块详细说明如下。

在这里插入图片描述

2.1 数据中心模块

数据中心模块包含了APK检测系统的系统基础配置,如登录用户的管理、运营公司组织架构的管理、用户菜单权限的管理、系统日志的管理、公用文件云盘的管理。
其中登录用户管理模块,由管理员负责运维工作,管理员可以对登录用户进行增加、删除、修改、查询操作。
组织架构,指的是高校的组织架构,该模块适用于管理这些组织架构的部门层级和教师的部门归属情况。
用户菜单权限管理模块,用于管理不同权限的用户,拥有哪些具体的菜单权限。
系统日志的管理,用于维护用户登入系统的记录,方便定位追踪用户的操作情况。
公用云盘管理模块,用于统一化维护APK检测系统中的图片,如合同签订文件、合同照片等等。

2.2 开放平台模块

开放平台是一种三方接口平台,支持其他用户通过API接口的方式调用系统功能,开放平台的数据包括主体名称、主体介绍、应用ID、密匙、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询开放平台数据,用户可以查询管理员发布的开放平台数据。

2.3 软件档案模块

软件是APK检测系统的核心实体,需要建立软件档案模块对用户发布的软件进行管理,软件档案的字段包括软件名称、软件介绍、开发者、文件、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询软件数据,用户可以查询管理员发布的软件数据,且可以上传自己的软件。

2.4 软件检测模块

有了软件档案之后,就需要对软件进行检测,用户提交软件检测申请后,保存在软件检测模块,软件检测的字段包括软件ID、软件名称、软件介绍、开发者、检测状态、检测时间、检测人、检测结论,管理员收到用户的软件检测申请后进行检测,并将检测结论录入到系统中。

2.5 软件举报模块

除了用于提交软件检测申请之外,还支持用户直接举报软件,管理员对齐进行判定,举报的数据存储在软件举报模块中,软件举报字段包括软件ID、软件名称、软件介绍、开发者、举报内容、处理结果、处理人、处理时间,用户可以提交软件举报申请,管理员对用户举报的申请订单进行核实。


三、系统设计

3.1 用例设计

UML是面向对象的图形化建模语言,具有表示容易,定义友好,适用范畴广泛,功能强大。用例图是用例模型的一种,需求分析人员可采用用例图表示用户操作行为。APK检测系统的用例图设计主要包括用户用例设计和管理员用例设计。

在这里插入图片描述

3.2 数据库设计

3.2.1 开放平台表

在这里插入图片描述

3.2.2 软件档案表

在这里插入图片描述

3.2.3 软件检测表

在这里插入图片描述

3.2.4 软件举报表

在这里插入图片描述


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询开放平台

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询开放平台")
public Result<IPage<OpenPlatform>> getByPage(@ModelAttribute OpenPlatform openPlatform ,@ModelAttribute PageVo page){QueryWrapper<OpenPlatform> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(openPlatform.getTitle())) {qw.like("title",openPlatform.getTitle());}if(!ZwzNullUtils.isNull(openPlatform.getStatus())) {qw.eq("status",openPlatform.getStatus());}IPage<OpenPlatform> data = iOpenPlatformService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<OpenPlatform>>().setData(data);
}

5.2 新增开放平台

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增开放平台")
public Result<OpenPlatform> insert(OpenPlatform openPlatform){User currUser = securityUtil.getCurrUser();openPlatform.setUserId(currUser.getId());openPlatform.setTime(DateUtil.now());Random r = new Random();int ranInt = r.nextInt(90000) + 10000;openPlatform.setAppid(ranInt + "");openPlatform.setSecret(UUID.randomUUID().toString());iOpenPlatformService.saveOrUpdate(openPlatform);return new ResultUtil<OpenPlatform>().setData(openPlatform);
}

5.3 查询软件档案

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询软件档案")
public Result<IPage<Software>> getByPage(@ModelAttribute Software software ,@ModelAttribute PageVo page){QueryWrapper<Software> qw = new QueryWrapper<>();User currUser = securityUtil.getCurrUser();QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("id",currUser.getId());userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");if(iUserService.count(userQw) < 1L) {qw.eq("user_id",currUser.getId());}if(!ZwzNullUtils.isNull(software.getTitle())) {qw.like("title",software.getTitle());}if(!ZwzNullUtils.isNull(software.getContent())) {qw.like("content",software.getContent());}IPage<Software> data = iSoftwareService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Software>>().setData(data);
}

5.4 新增软件举报

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增软件举报")
public Result<SoftwareReport> insert(SoftwareReport softwareReport){Software s = iSoftwareService.getById(softwareReport.getSoftId());if(s == null) {return ResultUtil.error("软件不存在");}User currUser = securityUtil.getCurrUser();softwareReport.setUserId(currUser.getId());softwareReport.setTitle(s.getTitle());softwareReport.setContent(s.getContent());softwareReport.setDeveloper(s.getDeveloper());softwareReport.setFileUrl(s.getFileUrl());softwareReport.setWorkResult("");softwareReport.setWorkUser("");softwareReport.setWorkTime("");iSoftwareReportService.saveOrUpdate(softwareReport);return new ResultUtil<SoftwareReport>().setData(softwareReport);
}

5.5 新增软件检测

@RequestMapping(value = "/addOne", method = RequestMethod.POST)
@ApiOperation(value = "新增软件检测")
public Result<SoftwareCheck> addOne(@RequestParam String id){Software s = iSoftwareService.getById(id);if(s == null) {return ResultUtil.error("软件不存在");}SoftwareCheck softwareCheck = new SoftwareCheck();softwareCheck.setTitle(s.getTitle());softwareCheck.setContent(s.getContent());softwareCheck.setDeveloper(s.getDeveloper());softwareCheck.setFileUrl(s.getFileUrl());softwareCheck.setStatus("未检测");softwareCheck.setCheckTime("");softwareCheck.setCheckUser("");softwareCheck.setCheckResult("");iSoftwareCheckService.saveOrUpdate(softwareCheck);return new ResultUtil<SoftwareCheck>().setData(softwareCheck);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/678836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【el-tree 文字过长处理方案】

文字过长处理方案 一、示例代码二、关键代码三、效果图 一、示例代码 <divstyle"height: 600px;overflow: auto"class"text item"><el-treeref"tree":data"treeData":props"defaultProps"class"filter-tree&…

计算机网络——05Internet结构和ISP

Internet结构和ISP 互连网络结构&#xff1a;网络的网络 端系统通过接入ISPs连接到互连网 住宅、公司和大学的ISPs 接入ISPs相应的必须是互联的 因此任何2个端系统可相互发送分组到对方 导致的“网络的网络”非常复杂 发展和演化是通过经济的和国家的政策来驱动的 问题&…

课堂秩序要求有哪些内容

你是否曾经疑惑&#xff0c;为什么有些课堂总是秩序井然&#xff0c;而有些则混乱不堪&#xff1f;作为一位经验丰富的老师&#xff0c;我想告诉你&#xff0c;课堂秩序不仅仅是学生安静听讲那么简单&#xff0c;它背后涉及到许多关键因素&#xff0c;直接影响着教学质量和学习…

postgresql 手动清理wal日志的101个坑

新年的第一天&#xff0c;总结下去年遇到的关于WAL日志清理的101个坑&#xff0c;以及如何相对安全地进行清理。前面是关于WAL日志堆积的原因分析&#xff0c;清理相关可以直接看第三部分。 首先说明&#xff0c;手动清理wal日志是一个高风险的操作&#xff0c;尤其对于带主从的…

CleanMyMac X 4.14.7帮您安全清理Mac系统垃圾

CleanMyMac X 4.14.7是一款强大的 Mac 清理、加速工具和健康卫士,可以让您的 Mac 再次恢复巅峰性能。 移除大型和旧文件、卸载应用,并删除浪费磁盘空间的无用数据。 5倍 更多可用磁盘空间 CleanMyMac X 4.14.7帮您安全清理Mac系统垃圾 CleanMyMac X 4.14.7一键深度扫描mac系统…

Java常用类与基础API--String的理解与不可变性

文章目录 一、字符串相关类之不可变字符序列&#xff1a;String&#xff08;1&#xff09;对String类的理解(以JDK8为例说明)1、环境2、类的声明3、内部声明的属性 &#xff08;2&#xff09;String的特性&#xff08;3&#xff09;字符串常量的存储位置1、举例2、String的存储…

「优选算法刷题」:数青蛙

一、题目 给你一个字符串 croakOfFrogs&#xff0c;它表示不同青蛙发出的蛙鸣声&#xff08;字符串 "croak" &#xff09;的组合。由于同一时间可以有多只青蛙呱呱作响&#xff0c;所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不…

Day39- 动态规划part07

一、爬楼梯 题目一&#xff1a;57. 爬楼梯 57. 爬楼梯&#xff08;第八期模拟笔试&#xff09; 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;…

【大厂AI课学习笔记】【1.6 人工智能基础知识】(3)神经网络

深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅草莓照片)可以使用 多种方式来表示&#xff0c;如每个像素强度值的向量&#xff0c;或者更抽象地表示成一系列边、特定形状的区域等。 深度学习的最主要特征是使用神经网络作为计算模型。神经网络模型 …

深入理解 Nginx 插件及功能优化指南

深入理解 Nginx 插件及功能优化指南 深入理解 Nginx 插件及功能优化指南1. Nginx 插件介绍1.1 HTTP 模块插件ngx_http_rewrite_modulengx_http_access_module 1.2 过滤器插件ngx_http_gzip_modulengx_http_ssl_module 1.3 负载均衡插件ngx_http_upstream_modulengx_http_upstre…

CSS Selector—选择方法,和html自动——异步社区的爬取(动态网页)——爬虫(get和post的区别)

这里先说一下GET请求和POST请求&#xff1a; post我们平时是要加data的也就是信息&#xff0c;你会发现我们平时百度之类的 搜索都是post请求 get我们带的是params&#xff0c;是发送我们指定的内容。 要注意是get和post请求&#xff01;&#xff01;&#xff01; 先说一下异…

python+django人力资源管理系统7w5x3

技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5.7 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm .设计框架&#xff1a;Vue 1. 表现层&#xff1a;写多…

JCIM | MD揭示PTP1B磷酸酶激活RtcB连接酶的机制

Background 内质网应激反应&#xff08;UPR&#xff09; 中的一个重要过程。UPR是由内质网中的三种跨膜传感器&#xff08;IRE1、PERK和ATF6&#xff09;控制的细胞应激反应&#xff0c;当内质网中的蛋白质折叠能力受到压力时&#xff0c;UPR通过减少蛋白质合成和增加未折叠或错…

《计算思维导论》笔记:10.4 关系模型-关系运算

《大学计算机—计算思维导论》&#xff08;战德臣 哈尔滨工业大学&#xff09; 《10.4 关系模型-关系运算》 一、引言 本章介绍数据库的基本数据模型&#xff1a;关系模型-关系运算。 二、什么是关系运算 在数据库理论中&#xff0c;关系运算&#xff08;Relational Operatio…

蓝桥杯Web应用开发-CSS3 新特性【练习一:属性有效性验证】

练习一&#xff1a;属性有效性验证 页面上有一个邮箱输入框&#xff0c;当你的输入满足邮箱格式时&#xff0c;输入框的背景颜色为绿色&#xff1b;当你的输入不满足要求&#xff0c;背景颜色为红色。 新建一个 index2.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYP…

读书笔记之《重塑大脑重塑人生》:大脑强大的可塑性

《重塑大脑重塑人生》作者是诺曼道伊奇&#xff0c;原作名: The Brain That Changes Itself: Stories of Personal Triumph from the Frontiers of Brain Science &#xff0c;于 2015-1-20出版。 诺曼•道伊奇&#xff08;Norman Doidge&#xff09;是医学博士&#xff0c;精…

【JavaEE】传输层网络协议

传输层网络协议 1. UDP协议 1.1 特点 面向数据报&#xff08;DatagramSocket&#xff09;数据报大小限制为64k全双工不可靠传输有接收缓冲区&#xff0c;无发送缓冲区 UDP的特点&#xff0c;我理解起来就是工人组成的**“人工传送带”**&#xff1a; 面向数据报&#xff08;…

ubuntu22.04 安装部署04:经常死机,鼠标,键盘无响应

相关文章&#xff1a; ubuntu22.04 安装部署01&#xff1a;禁用内核更新 ubuntu22.04安装部署02&#xff1a;禁用显卡更新 ubuntu22.04安装部署03&#xff1a; 设置root密码 一、现象说明 1. 开机一小时后&#xff0c;突然之间网络掉线&#xff0c;鼠标、键盘无反应。 2.…

中国判决生效,诺基亚全面与中国手机签署授权协议,降低专利费

日前媒体报道指诺基亚与中国两家手机企业都签署了专利授权协议&#xff0c;全面结束诉讼&#xff0c;而这一切正是在OPPO于去年底在重庆法院就OPPO与诺基亚的专利费诉讼问题&#xff0c;做出裁决之后&#xff0c;要求诺基亚按公平、公正等合理收费原则收取专利费。 这几年诺基亚…

C语言的字符函数的使用与模拟实现

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;今天给大家分享字符函数的使用与模拟实现。 前言&#xff1a;如果你想使用一个锤子非常方便&#xff0c;直接使用做好的就行&#xff0c;但是锤子是怎么构成的&#xff0c;你就不知所云了&#xff0c;模拟…