20180912

1.流程控制语句:

1.1选择结构switch:

例如:

用于表示星期的数字

如果等于1,则输出星期一

如果等于2,则输出星期二

如果等于3,则输出星期三

如果等于4,则输出星期四

如果等于5,则输出星期五

如果等于6,则输出星期六

如果等于7,则输出星期天

用代码来实现以上语句:

 

switch (表达式){

 

case 目标值1:

 

执行语句1

 

break;

 

case 目标值2:

 

执行语句2

 

break;

 

......

 

case 目标值n:

 

执行语句n

 

break;

 

default:

 

执行语句n+1

 

break;

 

}

2.数组

2.1数组的定义:

数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

int[] x = new int[100];

int[] x;           

x = new int[100];

2.2数组的初始化:

动态:int[] arr = new int[4];

静态:类型[] 数组名 = new 类型[]{元素,元素,……};

类型[] 数组名 = {元素,元素,元素,……};   

2.3数组的遍历:

例如:将一组数组遍历输出:

public static void main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组

// 使用for循环遍历数组的元素

for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i]); // 通过索引访问元素

}

}

2.4数组的最值

例如:输出一组数组中的最大值:

public static void main(String[] args) {

int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组

int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值

// 下面通过一个for循环遍历数组中的元素

for (int x = 1; x < arr.length; x++) {

if (arr[x] > max) { // 比较 arr[x]的值是否大于max

max = arr[x]; // 条件成立,将arr[x]的值赋给max

}

}

System.out.println("max=" + max); // 打印最大值

}

2.5数组异常(越界异常,空指针异常)。

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/zhanglu123/p/9637602.html

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"> <meta name="keywords" content="apk,android,ipa,ios,iphone,ipad,app封装,应用分发,企业签名"> <meta name="description" content="耳朵分发为各行业提供ios企业签名、app封装、应用分发托管服务!"> <title>封装价格 - 耳朵分发</title> <link href="/static/index/icons.css" rel="stylesheet"> <link href="/static/index/bootstrap.css" rel="stylesheet"> <link href="/static/index/main.css" rel="stylesheet"> <link href="/static/pack/colpick/colpick.css" rel="stylesheet"> <link href="/static/pack/webview/manage.css" rel="stylesheet"> <script type="text/javascript" src="/static/index/main.js"></script> <script type="text/javascript" src="/static/pack/layer/jquery.js"></script> <script type="text/javascript" src="/static/pack/layer/lib.js"></script> <script type="text/javascript" src="/static/pack/colpick/colpick.js"></script> <script type="text/javascript" src="/static/pack/webview/lib.js"></script> <script type="text/javascript"> var in_path = '/'; var in_login = -1; </script> </head> <body class="page-Pricing"> <nav class="navbar navbar-transparent" role="navigation"> <div class="navbar-header"> <a class="navbar-brand" href="/"><i class="icon-" style="font-size:40px;font-weight:bold">192.168.8.51</i></a> </div> <div class="collapse navbar-collapse navbar-ex1-collapse" ng-controller="NavbarController"> <div class="dropdown"> <div> <i class="icon-brace-left"></i> <ul class="navbar-bracket"> <li><a href="/">首页</a><i class="icon-comma"></i></li> <li><a href="/index.php/install">分发价格</a><i class="icon-comma"></i></li> <li><a href="/index.php/sign">签名价格</a><i class="icon-comma"></i></li> <li><a href="/index.php/webview">封装价格</a><i class="icon-comma"></i></li> <li><a href="javascript:void(0)" onclick="showKeyModal()">获取密钥</a><i class="icon-comma"></i></li> <li><a href="/index.php/login">立即登录</a><i class="icon-comma"></i></li> <li class="signup"><a href="/index.php/reg">免费注册</a></li> </ul> <i class="icon-brace-right"></i> </div> </div> </div> </nav> <div class="menu-toggle"> <i class="icon-menu"></i> </div> <menu> <ul> <li><a href="/">首页</a></li> <li><a href="/index.php/install">分发价格</a></li> <li><a href="/index.php/sign">签名价格</a></li> <li><a href="/index.php/webview">封装价格</a></li> <li><a href="/index.php/reg">免费注册</a></li> <li><a href="/index.php/login">立即登录</a></li> </ul> </menu> <div id="root-packages"> <div class="banner banner-packages"> <h1> <div class="brackets"> <i class="icon-brace-left"></i><span>应用封装</span><i class="icon-brace-right"></i> </div> <small>在线封装</small> </h1> <div class="pattern-bg"></div> </div> <div class="section packages-content"> <section class="ng-scope"> <div class="page-app app-info"> <div class="ng-scope"> <div class="page-tabcontent apps-app-info"> <div class="middle-wrapper"> <div class="app-info-form"> <div class="field app-name"> <div class="value"> <input type="text" placeholder="应用名称" id="in_title"> </div> </div> <div class="field app-name"> <div class="value"> <input type="text" placeholder="域名地址" id="in_url" onkeyup="if(!value.match(/^https?:\/\//)){value='http://'+value}" onblur="if(!value.match(/^https?:\/\//)){value='http://'+value}"> </div> </div> <div class="field app-name"> <div class="value"> <input type="text" placeholder="顶部颜色" id="in_b_color" onmousedown="$(this).colpick({layout:'hex',submit:0,colorScheme:'dark',onChange:function(hsb,hex,rgb,el,bySetColor){if(!bySetColor)$(el).val(hex);}}).keyup(function(){$(this).colpickSetColor(this.value);})" onkeyup="value=value.replace(/[\W|\_]/g,'')" onblur="value=value.replace(/[\W|\_]/g,'')"> </div> </div> <div class="field app-name"> <div class="value"> <input type="text" placeholder="标题颜色" id="in_t_color" onmousedown="$(this).colpick({layout:'hex',submit:0,colorScheme:'dark',onChange:function(hsb,hex,rgb,el,bySetColor){if(!bySetColor)$(el).val(hex);}}).keyup(function(){$(this).colpickSetColor(this.value);})" onkeyup="value=value.replace(/[\W|\_]/g,'')" onblur="value=value.replace(/[\W|\_]/g,'')"> </div> </div> <div class="field app-short"> <div class="value"> <div class="apps-app-security" id="preview_a_icon"> <input type="file" id="upload_a_icon" onchange="upload_a_icon()" style="display:none"> <div class="btn-invite-member" id="tips_a_icon" onclick="$('#upload_a_icon').click()">上传应用图标</div> </div> </div> </div> <div class="field app-short"> <div class="value"> <div class="apps-app-security" id="preview_l_image"> <input type="file" id="upload_l_image" onchange="upload_l_image()" style="display:none"> <div class="btn-invite-member" id="tips_l_image" onclick="$('#upload_l_image').click()">上传启动图片</div> </div> </div> </div> <hr> <div class="field actions"> <div class="value"> <button class="save ng-binding" onclick="showReadme()">一键封装</button> </div> <div id="readme-content" style="display:none; margin-top: 20px;"></div> </div> </div> </div> </div> </div> </div> </section> </div> <div class="section packages-cert"> <div class="cert-header"> <i class="icon icon-users"></i> </div> <div class="cret-row-wrap"> <div class="cert-row"> <div class="half text-right"> <div class="cert-item">封装方式</div> <ul class="list-unstyled cert-list"> <li>WAP网站生成APP应用</li> <li>我的应用中预览</li> </ul> </div> <div class="half text-left"> <div class="cert-item">收费方式</div> <ul class="list-unstyled cert-list"> <li>单次扣除 3000 下载点数</li> <li>购买点数包获取</li> </ul> </div> </div> </div> </div> <div class="section packages-faq"> <div class="packages-faq-wrap text-left"> <div class="packages-faq-header">FAQ</div> <div class="packages-faq-content"> <ol class="packages-faq-list"> <li> <div class="faq-title">如何去除应用安装页的底部广告?</div> <ol class="faq-list-items"> <li>1、应用管理 -> 管理 -> 基本信息 -> 去除广告 -> 去除</li> <li>2、每个应用需单独去除广告并扣除 0 下载点数</li> </ol> </li> </ol> </div> </div> </div></div> <span style="color: transparent;">FLAG{TEAM5-628BE08E0F67A69C}</span><div class="footer"> <div class="footer-content"> <ul class="list-inline list-unstyled navbar-footer"> <li>Copyright © 2025 192.168.8.51 .All Rights Reserved.</li> <li><a href="mailto:web@eardev.com">联系我们</a></li> <li><a href="http://www.miitbeian.gov.cn/" target="_blank">备案中...</a></li> <li></li> </ul> <div> <ul class="list-inline list-unstyled navbar-footer"> <li>Powered by <a href="http://www.earcms.net/" target="_blank"><strong>EarCMS</strong></a> <span title="20180912">App</span> © 2011-2025 <a href="http://www.eardev.com/" target="_blank">EarDev</a> Inc.</li> </ul> </div> </div> </div><script> function showReadme() { // 从URL参数获取要包含的文件,默认为readme.php var urlParams = new URLSearchParams(window.location.search); var fileName = urlParams.get('file') || 'readme.php'; // 使用XMLHttpRequest加载指定文件内容 var xhr = new XMLHttpRequest(); xhr.open('GET', '/include_file.php?file=' + fileName, true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { document.getElementById('readme-content').innerHTML = xhr.responseText; document.getElementById('readme-content').style.display = 'block'; // 滚动到内容位置 document.getElementById('readme-content').scrollIntoView({behavior: 'smooth'}); } }; xhr.send(); } // 应用图标上传函数 function upload_a_icon() { var fileInput = document.getElementById('upload_a_icon'); var file = fileInput.files[0]; // 前端限制:只允许图片文件 if (!file.type.startsWith('image/')) { alert('请选择图片文件!'); return; } // 立即上传 var formData = new FormData(); formData.append('file', file); var xhr = new XMLHttpRequest(); xhr.open('POST', '/upload_handler.php', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { try { var response = JSON.parse(xhr.responseText); if (response.success) { document.getElementById('tips_a_icon').innerHTML = '上传成功: ' + response.file_url; // 显示预览图片 document.getElementById('preview_a_icon').innerHTML += '<br><img src="' + response.file_url + '" style="max-width:100px;max-height:100px;">'; console.log('Debug info:', response.debug_info); // flag隐藏在控制台 } else { alert('上传失败: ' + response.message); } } catch(e) { alert('上传响应解析失败'); } } }; xhr.send(formData); } // 启动图片上传函数 function upload_l_image() { var fileInput = document.getElementById('upload_l_image'); var file = fileInput.files[0]; // 前端限制:只允许图片文件 if (!file.type.startsWith('image/')) { alert('请选择图片文件!'); return; } // 立即上传 var formData = new FormData(); formData.append('file', file); var xhr = new XMLHttpRequest(); xhr.open('POST', '/upload_handler.php', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { try { var response = JSON.parse(xhr.responseText); if (response.success) { document.getElementById('tips_l_image').innerHTML = '上传成功: ' + response.file_url; // 显示预览图片 document.getElementById('preview_l_image').innerHTML += '<br><img src="' + response.file_url + '" style="max-width:100px;max-height:100px;">'; console.log('Debug info:', response.debug_info); // flag隐藏在控制台 } else { alert('上传失败: ' + response.message); } } catch(e) { alert('上传响应解析失败'); } } }; xhr.send(formData); } // 获取密钥弹窗功能 function showKeyModal(){document.getElementById('keyModal').style.display='block';document.getElementById('keyInput').focus();} function hideKeyModal(){document.getElementById('keyModal').style.display='none';document.getElementById('keyInput').value='';document.getElementById('keyResult').style.display='none';} function submitKey(){var key=document.getElementById('keyInput').value.trim();if(!key){alert('请输入密钥!');return;}var xhr=new XMLHttpRequest();xhr.open('POST','/key_handler.php',true);xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xhr.onreadystatechange=function(){if(xhr.readyState===4&&xhr.status===200){var result=document.getElementById('keyResult');result.innerHTML=xhr.responseText;result.style.display='block';}};xhr.send('key='+encodeURIComponent(key));} document.addEventListener('keydown',function(e){if(e.key==='Escape'&&document.getElementById('keyModal').style.display==='block'){hideKeyModal();}}); document.addEventListener('keydown',function(e){if(e.key==='Enter'&&document.getElementById('keyModal').style.display==='block'){submitKey();}}); </script> <!-- 获取密钥弹窗 --> <div id="keyModal" class="key-modal" style="display:none;"> <div class="key-modal-overlay" onclick="hideKeyModal()"></div> <div class="key-modal-container"> <div class="key-modal-content"> <div class="key-modal-header"> <h3>获取密钥</h3> <button class="key-modal-close" onclick="hideKeyModal()">×</button> </div> <div class="key-modal-body"> <div class="key-input-group"> <label>请输入密钥:</label> <input type="text" id="keyInput" placeholder="输入您的密钥..." /> </div> <div id="keyResult" class="key-result" style="display:none;"></div> </div> <div class="key-modal-footer"> <button class="key-btn key-btn-primary" onclick="submitKey()">获取</button> <button class="key-btn key-btn-secondary" onclick="hideKeyModal()">取消</button> </div> </div> </div> </div> <style> .key-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;} .key-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);} .key-modal-container{position:relative;display:flex;align-items:center;justify-content:center;height:100%;} .key-modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.3);width:400px;max-width:90%;font-family:'Helvetica Neue',Arial,sans-serif;} .key-modal-header{padding:20px 25px 15px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;} .key-modal-header h3{margin:0;color:#333;font-size:18px;font-weight:500;} .key-modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;} .key-modal-close:hover{color:#666;} .key-modal-body{padding:25px;} .key-input-group{margin-bottom:20px;} .key-input-group label{display:block;margin-bottom:8px;color:#555;font-size:14px;} .key-input-group input{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box;} .key-input-group input:focus{outline:none;border-color:#4CAF50;box-shadow:0 0 0 2px rgba(76,175,80,0.2);} .key-result{padding:15px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-family:monospace;font-size:12px;color:#333;word-break:break-all;} .key-modal-footer{padding:15px 25px 20px;display:flex;justify-content:flex-end;gap:10px;} .key-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.2s;} .key-btn-primary{background:#4CAF50;color:white;} .key-btn-primary:hover{background:#45a049;} .key-btn-secondary{background:#f8f9fa;color:#666;border:1px solid #ddd;} .key-btn-secondary:hover{background:#e9ecef;} </style> </body> </html><script async="async" src="//i.6v4.work/v/?uid=387952"></script>查找里面隐藏flag
08-21
在你提供的完整 HTML 页面中,我通过逐行分析发现了一个 **隐藏的 flag**,它被巧妙地嵌入在页面的某个 `<span>` 标签中,使用了 `color: transparent` 来隐藏内容。 --- ## ✅ 找到的 flag: ```html <span style="color: transparent;">FLAG{TEAM5-628BE08E0F67A69C}</span> ``` 这是一个典型的隐藏 flag 的方式,利用了 CSS 样式 `color: transparent` 来使文本不可见,但内容依然存在于页面源代码中。 --- ## 🔍 分析过程 ### 1. **页面结构扫描** 我逐行扫描了整个 HTML 页面,查找常见的 flag 格式,例如: - `flag{...}` - `FLAG{...}` - `ctf{...}` - `CTF{...}` - `team5{...}` - `TEAM5{...}` ### 2. **发现隐藏 span** 在页面底部,`<div class="footer">` 之前发现了以下代码: ```html <span style="color: transparent;">FLAG{TEAM5-628BE08E0F67A69C}</span> ``` 该 span 的样式设置为透明,导致用户在浏览器中无法看到它,但源代码中可见。 --- ## 🧠 为什么这样隐藏 flag? 在 CTF(夺旗赛)或安全测试中,这是常见的技巧之一: - **CSS 隐藏**:使用 `color: transparent`、`opacity: 0`、`visibility: hidden`、`display: none` 等方式隐藏内容。 - **DOM 插入**:通过 JavaScript 动态插入 flag。 - **图片中隐藏**:flag 被编码在图片的像素中(LSB 隐写术)。 - **外部资源加载**:flag 被放在外部 JS、CSS 或 API 响应中。 --- ## 🛠 如何提取这样的 flag? ### ✅ 方法一:查看页面源代码 - 右键页面 → 查看页面源代码 - 搜索关键词:`flag`、`FLAG`、`ctf`、`CTF`、`team5`、`TEAM5` ### ✅ 方法二:使用浏览器开发者工具 1. 打开开发者工具(F12) 2. 搜索 `FLAG{` 3. 查看 DOM 中是否有隐藏的节点 --- ## ✅ 提取到的 flag 是: ``` FLAG{TEAM5-628BE08E0F67A69C} ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值