JS代码指纹库构建

1.espree使用
编写index.js代码 后,将在index.js目录下 npm -i espree
npm init -y生成pakage.json文件,node .\index.js 生成结果
index.js

const espree = require("espree");
const fs = require('fs');
ast = espree.parse(fs.readFileSync('D:/java/javascript/typescript@3.1.7.main.bundle.js'), {
  loc: true,
  range: true,
  jsx: true,
  // allowReserved: true,
  allowReturnOutsideFunction: true,
  onInsertedSemicolon: true,
  allowImportExportEverywhere: true,
  ecmaVersion: 2023,
  sourceType: 'module',
  ecmaFeatures: { impliedStrict: false, jsx: true, globalReturn: true }

})
console.log(ast);

在这里插入图片描述
2.修改 idea/bin目录下 idea.properties 修改idea.cycle.buffer.size=10240 console全部输出

3传函数体报错
在这里插入图片描述3一个文件一个map,极端情况 100万 s函数->x0,
1个 s函数-》x0 其他t函数->x1

函数体内部的变量对应没问题
在这里插入图片描述形参,函数体变量
在这里插入图片描述
3。20:00在这里插入图片描述40行的修改 指纹值不变
在这里插入图片描述全局定义的变量进行替换 a0 a1 (内置变量不修改,看成关键词)

console.log 项目上线 一般是会注释或删除
function f0(f0p0, f0p1) {
function f1(f1p0, f1p1) {
var f1x0 = ‘blah’;
f1p0 = 3;
f1x1 = 2;
var f1x2 = function f2() {
return 3;
}();
var f1x3 = f1p1;
return 5;
}
f0p0 = f0x0(1, 2);
}
var a0 = 1;
var a1 = 2;

-5490082951443034460
2229476176222531815

function f0(f0p0, f0p1) {
function f1(f1p0, f1p1) {
var f1x0 = ‘blah’;
f1p0 = 3;
f0p1 = 2;
var f1x2 = function f2() {
return 3;
}();
var f1x3 = f1p1;
return 5;
}
f0p0 = f1(1, 2);
}
var a0 = 1;
var a1 = 2;

-5634197040040816732
2231727976036741319

初始:
6295455724119913376
6556841691444057159

删除三百行、六百行:

一千行:
6295455724119913376
6556841691444057157

将10万+的f进行替换a
6871916498032391072
6525347254600904903

判断赋值语句的左node,若果节点名不在tempmap里(也就是不是当前函数的形参、函数体先定义的变量(先定义后操作)),temp加入一组键值对(都是当前名),等后面扫描identifier的时候就不会发生替换。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的 MATLAB 指纹识别建立代码示例,包括指纹图像预处理、特征提取、分类器训练和测试等步骤。请注意,这只是一个简单的示例,您需要根据您的具体数据和需求进行修改和调整。 ```matlab % 加载指纹图像和标签 load('fingerprint_data.mat'); % 包含指纹图像和标签的数据文件 imds = imageDatastore(images); imds.Labels = categorical(labels); % 图像预处理 imds = transform(imds,@(x) preprocess_fingerprint(x)); % preprocess_fingerprint 是一个自定义的预处理函数 % 特征提取 features = extract_features(imds); % extract_features 是一个自定义的特征提取函数 % 分类器训练和测试 cvp = cvpartition(imds.Labels,'Holdout',0.2); idxTrain = training(cvp); idxTest = test(cvp); XTrain = features(idxTrain,:); YTrain = imds.Labels(idxTrain); XTest = features(idxTest,:); YTest = imds.Labels(idxTest); % 训练 SVM 分类器 SVMModel = fitcsvm(XTrain,YTrain); % 测试分类器性能 YTestPred = predict(SVMModel,XTest); accuracy = sum(YTestPred == YTest)/numel(YTest); ``` 在上述代码中,`preprocess_fingerprint` 是一个自定义的指纹图像预处理函数,可以包括去噪、增强和细化等操作。`extract_features` 是一个自定义的特征提取函数,可以使用常见的指纹特征提取算法,如方向图、频率图、细节图等。`fitcsvm` 是 MATLAB 中的 SVM 分类器训练函数,`predict` 是分类器预测函数。最后,根据预测结果计算测试集准确率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值