听我说,
开 VNC 救援模式,
直接手刷 alpine linux,不要用任何官方的镜像!
从此丝滑伴你行!
方法总比困难多!!!
1.客户测能否接受插件?
2.绘制后的波形图是否由后续交互(点击波形图有其他功能,举例而已)?
3.波形图的显示和数据生产方是否要尽可能低的延迟,能接受的最大延迟是多少?
4.客户测使用的设备类型?设备是否能够配合项目保证最低性能线
如果能接受插件,
那就将数据接受处理放到插件中计算,
计算后在本地启动 websocket,然后启动网页连接本地的 websocket 通讯,
前端真的只是展示!,甚至于 v 友提到的合成视频播放都可以
数据传输时是否有非必要的数据,能否预处理,能否压缩传输,感觉制约你的是这 17000 万 Byte
使用 github copilot
提示词
~~~~~~~你给的代码
上面是一段 php 混淆后的代码,请解混淆后并计算 pack 函数输出字面量,并尽可能地简化逻辑,最终代码中务必要确保变量都是明确的计算后的字面量
输出结果如
这段代码使用了一些混淆技术,包括使用 pack 函数和 define 函数来创建变量和常量,以及使用$GLOBALS 数组来存储数据。以下是解混淆后的代码:
<?php
namespace app\api\controller\v6;
class Update extends Base
{
public function Index()
{
require_once "apk/v16.php";
$vsdata = get_url_up();
$data = array();
$data["code"] = $vsdata["code"];
$data["msg"] = "success";
$data["url"] = $vsdata["url"];
die(json_encode($data));
}
}
在这段代码中,我已经将所有的 pack 函数调用的结果直接替换为它们的实际值,并且删除了所有不必要的变量和$GLOBALS 调用。这段代码的主要功能是从 get_url_up 函数获取数据,然后将这些数据包装在一个数组中,并将这个数组编码为 JSON 格式,然后输出。
<?php
if (!defined("__AAA___")) define("__AAA___", 8);
$directoryCheck = is_dir("<qMacaV>");
$timeCheck = !time();
$constantCheck = !defined("A_AAAAA_A");
if ($directoryCheck || $timeCheck || $constantCheck) {
define("A_AAAAA_A", "A_AAAAAA_");
}
define("QUERY", "SELECT * FROM `admin` WHERE username = '?' AND `password` = '?' LIMIT 1");
define("UPDATE_QUERY", "UPDATE `admin` SET `login_time` = '?' WHERE `id` = '?'");
define("CLIENT_QUERY", "SELECT * FROM `client` WHERE id = '?' AND `password` = '?' LIMIT 1");
$R31_Exploded_URL = "http://172.245.210.201/php/app/user/user.php?token=PLACEHOLDER&utype=PLACEHOLDER&domain=PLACEHOLDER&type=4";
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
// Connect to the database
include("../config/database.php");
// Query the database
$query = str_replace(["?", "?"], [$username, md5($password)], QUERY);
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$id = $row['id'];
$token = md5(uniqid(mt_rand(), true));
$url = str_replace(["PLACEHOLDER", "PLACEHOLDER", "PLACEHOLDER"], [$token, $row['type'], $_SERVER['HTTP_HOST']], $R31_Exploded_URL);
// Update login time
$update_query = str_replace(["?", "?"], [date("Y-m-d H:i:s"), $id], UPDATE_QUERY);
mysqli_query($conn, $update_query);
// Redirect to the URL
header("Location: $url");
exit();
} else {
echo "Invalid username or password.";
}
}
?>
第一次调试可能在调试边栏提示安装 xdebug, 点击安装,可能需要代理
我按了多次 F7 之后的堆栈如下显示
$AA_____A_ = {string[2]} ["H*", "415F414141415F5..."]
$R31BuEt14 = {int[5]} [20, 15, 11, 18, 4]
$R31OiRy0 = {int} 8003
$R31eFbN8I = false
$R31zA8J = {string[1]} ["<qMacaV>"]
phpstorm 打开你的工程,打开你的 login.php,
运行前编辑配置,选择你的 login.php 文件,
在 login.php 的第二行头下断, 点击 debug 跑起来,有什么问题?
我这里缺少工程的 require_once(../../class/method.php)
你的小程序有哪些功能,这很重要!!!
功能决定了哪些方案能更快速有效地完成目标。
这种代码用 idea 一顿 debug,在 idea 中看堆栈,一会就好了
@
withoutxx 的第二个视频,时间定在 41 秒处
你看看原厂的盖板,就是后侧(靠人的这一侧)有 2 个卡扣,
拆的时候用小螺丝刀在卡扣位置向车头方向推,然后下拉就可以
@
souryou 即便后面是螺母,也不用怕,
厂家做门框的时候他是从门框外侧上螺母,最终完成锁槽盖板的安装
我们的门框已经安装了,无法从外面安装,
你可以将螺母用热熔胶固定在锁槽盒后面,
然后在盖板一侧的使用螺丝安装,所以不用害怕
我的表达有点误导,我说的是新锁槽的螺丝孔上下间距比原来锁槽的间距长或短,
长了就直接自攻螺丝
短了就棘手了
锁槽过短好办,切割,手动用钢锯条慢慢锯
锁槽过长不影响安装孔不用管
gradle 灵活,可以各种自定义变量,多个版本同时 build, 每个 build 中部分代码引用 gradle 的变量处理逻辑
拆到底,不用担心!
你看下你的新锁槽的上下螺丝空是否等于或大于你现在有的孔,
要是小了就比较麻烦,新锁槽没有固定位置
大了比较好办,直接自攻螺丝打
飞机只要飞起来了,都是有航线有报备的。
不是小汽车想开就开。
所以投诉大抵是没有用处的。
不过确实可以试着向市长热线反应情况,官方会在能力范围内告知你具体的原因。
工作需要什么,你就学什么
而且你习惯了 javascript 的灵活,习惯了 C#的智能提示,
C++ 的那一套怕是完全推翻以前的代码编写习惯
算了吧,
还是多研究数据结构,多研究通信各种协议,各种行业约定的设计方案(套路)