自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小水的博客

希望成为神犇的小水的足迹

  • 博客(97)
  • 收藏
  • 关注

原创 difuzz框架详解——从初学者角度理解处理器模糊测试(2)

本篇博客主要的内容都是在阅读difuzz框架,由于目前docker用不了,我用的是processorfuzz的docker镜像进行阅读讲解。本博客最核心关注的点在于:如何生成risc-v处理器,如rocket-chip,boom的处理器指令?如何利用cocotb把生成的处理器指令放入这些设计中进行仿真?

2024-07-02 09:58:07 620

原创 difuzz框架详解——从初学者角度理解处理器模糊测试(1)

了解目前比较新的处理器模糊测试(Fuzz)的框架构成是怎么样的。熟悉当前模糊测试使用的工具以及理解这个实践的案例。阅读论文,并理解当前处理器模糊测试关注的标准(metric),思考之后自己的工作可以怎么做。DifuzzRTL 是一种用于 CPU 验证的差异化模糊测试方法。我们引入了一种新的覆盖度量标准,寄存器覆盖,能够全面捕捉 RTL 设计的状态,并正确引导输入生成。DifuzzRTL 自动实施寄存器覆盖,随机生成并变异 ISA 中定义的指令,然后与 ISA 模拟器进行对照检查以发现错误。

2024-06-13 18:31:40 636 1

原创 wsl设置ssh时kex_exchange_identification: Connection closed by remote host问题

【代码】wsl设置ssh时kex_exchange_identification: Connection closed by remote host问题。

2023-11-29 23:24:10 899

原创 Verilator简易使用教程——一个简单的测试案例

Verilator的一个简单使用案例。

2023-02-18 10:29:31 1574 1

原创 cocotb使用指南(一)

关于对于cocotb这个芯片测试框架的理解。

2022-06-18 10:11:28 8867

原创 Domain Specific Language Visualization & Edit Report

Chapter 1: Rule Visualization Project Requirements1.1. Term1.1.1. Domain Specific LanguageA domain-specific language is created specifically to solve problems in a particular domain and is not intended to be able to solve problems outside of it (althou

2022-03-13 15:28:57 610

原创 规则引擎代码可视化编辑全梳理

1. 项目简介1.1. 项目简述规则可视化引擎的主要目标是对regchain平台的规则进行可视化,主要目标是生成可读性高,美化程度好的可视化图像。规则可视化编辑的目标是创建可视化编辑引擎,能够做到通过生成可视化图像以及通过图像和节点的拖拉生成可以部署于regchain应用上的规则引擎。1.2. 可视化规则及编辑引擎流程通过点击Regchain-Explorer的Rule界面的规则文件,可以跳转到规则可视化的网站。这个过程中,规则文件的URIEncode网址的Rule参数被传入规则可视化网

2022-03-13 15:24:58 6099

原创 ubuntu 20.04 minisat静态链接库环境搭建

核心目标搭建minisat环境。步骤1:下载文件夹cd <目标文件夹>wget http://minisat.se/downloads/minisat-2.2.0.tar.gztar -zxvf minisat-2.2.0.tar.gz步骤2:修改SolverTypes.h文件以保证在新的g++环境下可编译把84行替换成#define l_True lbool((uint8_t)0)把第50行注释掉。在58行上方添加inline Lit mkLit (Var var)

2022-02-28 14:55:41 451 2

原创 智能合约随机数安全问题合约整理与分类

2. 0xb8797a4ba7402d8a9ab62c4a12ef8846f1ea9a80智能合约名:GoldenKingdom智能合约类型:彩票。随机数生成方式:LuckyDraw.sol23行,使用链上变量block.difficulty, now(0.7之后强制用block.timestamp)以及players的地址。问题:使用链上变量和地址,容易被预测。分类:使用“简单不安全”的链上变量作为随机数熵源;使用“私有”变量(可以被观测到内部信息)。识别思路:定位产生随机数的函数。

2021-11-24 23:04:50 1890

原创 vscode在远程服务器安装python一直installing的问题

问题要用vscode在远程服务器调试python,但是装的时候一直installing,没有任何的报错信息,翻log也不行。解决方案只有用root登录远程服务器才能够安装成功。

2021-11-03 10:23:04 2994 4

原创 Antlr4的gui窗口弹不出来的问题(Windows)

问题描述antlr的窗口弹不出来,-gui完了之后ctrl+D,窗口如下显示。解决方案在窗口处同时按下ctrl+shift+右键。选择最大化即可解决问题。

2021-09-05 10:42:37 476 1

原创 react-diagram替换remix中editor的思路与操作

0. 需求需要在remix-ide的editor组件中嵌入react-diagram,并且能够交互。0.1. 需求附图右上半部分为Editor。0.2. React-diagramReact-diagram如上图所示。1. 难点Remix项目的每一个组件是使用remix-project开发的一个插件库@remixproject/engine制作的,每个插件有互相沟通的通道,每个插件内的函数都被可能被其他的组件调用。Remix项目并不是完全使用react构建的,但是react

2021-08-06 10:06:07 597

原创 在ubuntu18.04上搭建kubernetes(保姆级教程)

关闭防火墙ufw disable关闭selinuxsudo apt install selinux-utilssetenforce 0禁止swap分区swapoff -asudo gedit /etc/fstab 注释掉swap一行登陆root用户:桥接的IPV4流量传递到iptables 的链cat > /etc/sysctl.d/k8s.conf <<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge

2021-08-05 17:49:53 2588 1

原创 Alternate Realities大赛作品引发的思考(二)——如何完全按照自己的思路制作一个toon shader

目标在blender的球上实现Toon Shader,理解blender着色器的工作原理。一些帮助学习的网站https://nme.babylonjs.com/初始工程1. 建球,改灯光颜色。问题1:这个Material Output我就看不懂,里面的三个节点是什么意思?如果我们要解决我们现在要处理的这个目标,实际上我们只需要理解surface就行,surface代表着物体的,就是表面的颜色会呈现什么情况。volume代表着物体的内部,可以制作类似体积雾,烟火颗粒之类的物体。d

2021-06-21 01:42:38 626 1

原创 Alternate Realities大赛作品引发的思考(一)——用通俗的语言解释shader的渲染过程

背景本科学了四年的数字媒体技术,如今对流行的shader技术,合成(compositing),渲染还是一窍不通。基本写作业就是面向tutorial,没有办法响应需求,更没有办法形成自己的风格。思考有没有办法在短时间内对整个体系的掌握进行提升,于是就有了今天这个博客。目前我已经接触数媒,渲染领域不多了,主要在搞纯代码的开发,但是接下来有一两个游戏比赛,自己作为敲代码的,技术美术自然又是落在我头上。我还有没有办法快速的相应需求,有没有办法形成我们团队的风格,也就看这段时间博客的积累了。目标重

2021-06-19 20:18:05 1729

原创 预言机理解:A Scalable Architecture for On-Demand, Untrusted Delivery of Entropy

阅读背景由于要做智能合约随机数监测相关的内容,所以也需要调研清楚目前智能合约随机数生成的手段之一:预言机。本文来自链接智能合约预言机随机数生成案例的github主页,感兴趣也可以阅读。概览This paper presents a scalable software architecture enabling delivery of on-demand entropy by an untrusted third-party, henceforth the data carrier, witho

2021-06-03 14:55:46 869 3

原创 Oyente搭建,框架结构以及helloworld案例解析(二)

博客目标完成对oyente代码的阅读和解析,主要是针对函数full_sym_exec以及内部的部分。完成对控制流图的完整概念理解。完成对z3进行约束求解的理解。1. 控制流图的概念1.1. 基本块(basic block)基本块是一个最大化的指令序列,程序执行只能从这个序列的第一条指令,从这个序列的最后一条指令退出。构建基本块的三个原则:遇到程序、子程序的第一条指令或语句,结束当前基本块,并将该语句作为一个新块的第一条语句。遇到跳转语句、分支语句、循环语句、将该语句作为当前块的最后

2021-05-26 09:51:13 757

原创 数学建模之方法大归纳

数据预处理方法1. 数据清洗在数据缺失、立群、噪声很大时使用。数据补充数据删除特殊点排除噪声平滑分箱法回归法:平滑数据聚类法:排除异常点2. 数据集成和数据转换将多源数据进行数据集成,并根据需要将数据转换为适于处理的形式进行学习,以发现其中隐藏的潜在模式与规律。数据集成:如果两组数据自相关(某一个属性能由另一个属性导出,则属性冗余),解决方法有皮尔逊积距系...

2021-05-21 11:09:40 398

原创 react-diagram, antlr4 可视化编程网页应用搭建(一)

主要内容本篇博客主要介绍的是通过将antlr4集成到react-diagram(typescript)框架中。这个集成过程是web应用可视化编程(类似于unreal blueprint)的一个子任务。背景antlr4是一个将代码转换为语法树结构的应用,用户能通过内置的API对语法树进行遍历,从而获取其内部的变量,逻辑信息。我们目前这个迭代的主要目标是:将用户的代码转换为一个序列化的JSON,这个序列化的JSON通过react-diagram的反序列化引擎,可以直接显示成易于理解的可视化图像。

2021-05-21 11:05:38 1066 1

原创 面向需求——可验证随机数在区块链上的应用

前言对于一个没有密码学经验,大学本科只学过数论的小白来说,想完全理清VRF是一件非常痛苦的事情。因为它不仅涉及到了椭圆曲线,签名算法相关的内容,场景和参与方也都具有相当的复杂性。然而本文要把其中的每一个概念全都理清楚,是对初学者非常友好的一篇博客。背景要求只需要对区块链有一定的理解即可。Motivation尽管现在有很多通过可验证随机数技术来解决链上随机数生成的问题,但是在综合不同的应用场景后,可验证随机数的核心能力在于区块链的共识问题。区块链共识解决的核心问题在于解决分叉,如比特

2021-05-20 16:29:46 591 2

原创 react-diagram 序列化Json解读

本文目标本文档的目标在于解释react-diagram框架模型序列化的Json,由于缺乏文档,我这边只能通过不断尝试和调试来进行测试。序列化案例1:{ "id": "27", "offsetX": 0, "offsetY": 0, "zoom": 100, "gridSize": 0, "layers": [ { "id": "28", "type": "diagram-l

2021-05-18 11:06:38 518 4

原创 Oyente搭建,框架结构以及helloworld案例解析(一)

本文目标简要描述oyente搭建的几个坑点。清楚描述oyente框架结构和每个文件的内容。跑通helloworld.sol案例并对整个代码过程进行解析。1. Oyente搭建的几个坑点oyente目前只支持4.19以下的solidity版本,所以我们如果直接按照官方文档中的方法安装sol是没有办法跑通的,最好的办法是使用solc-select来管理安装不同版本的solidity。oyente官方文档中没有提到需要安装crytic_compile库,但是input_helper中又引入了这个

2021-04-22 14:17:09 5147 15

原创 以太坊虚拟机模型全解——概念,指令以及代码

目录介绍区块链世界状态账户交易消息去中心化数据库原子性和顺序虚拟机以太坊虚拟机消息调用异常Gas和费用输入和输出字节指令指令集杂项附录A: 实现Geth源码EVM开发应用solidity ABI附录:用户界面Geth, mist, Solc, Remix, Truffle参考介绍区块链区块链系统实际上可以看做一个基于交易的状态机。但是区块链不被称作状态链,是因为只需要有区块就能够推出每一个状态。所以从区块链系统制作的角

2021-04-16 15:51:17 3000

原创 深入理解区块链上随机性(一)——背景与构造

前言区块链上随机数的产生是一个非常特殊的一类问题,和一众经典难题一样,有着显而易懂的需求和资源限制,但却相对极难解决。由于区块链以及衍生发展出的智能合约,产生随机数背景条件有诸多限制,如公开性,可验证性以及信息不平衡,导致目前已有的团队开发的框架大部分是针对特定的应用场景,而且不可避免的都会有缺陷,使得这个领域的研究充满着机遇和挑战。本文目标通俗的梳理关于随机数的概念。整理目前区块链上,或者是分布式环境上产生随机数的方法和思路。随机性随机性本身在区块链中属于比较困难的课题。这里随机性

2021-04-15 11:44:39 733

原创 论文阅读:Seraph: Enabling Cross-Platform Security Analysis For EVM and WASM Smart Contracts

阅读目标了解SERAPH的设计的背景和目标。了解工具设计的基本原理和使用方法。论文总览概述描述了智能合约非常容易受到外部攻击的背景,这也是SERAPH设计的初衷。SERAPH能够在主流的虚拟机框架上运行,例如EVM和WASM。并引入了一系列连接的API供区块链和虚拟机交互,例如加载和更新区块链上存储的数据。而且害提出了一种·symbolic semantic graph来对安全分析和内部关键依赖进行结构。1. 介绍介绍了目前区块链和智能合约的一些内容。开始总结当前智能合

2021-04-13 09:46:22 327 2

原创 论文阅读:Making Smart Contracts Smarter

阅读目标对目前智能合约的安全问题有全面的认识。回顾区块链和智能合约相关的基础概念。思考智能合约安全问题以及未来的展望。文章结构概览概要介绍了加密货币以及智能合约的基本概念。陈述了本文的目标是探索以太坊上智能合约运行的安全性,并推广到其他的加密货币。简要介绍了他们的工作,包括:提出了方法提升目前以太坊的安全性,使得智能合约不容易被攻击。制作了一个工具OYENTE可以找到潜在的安全问题。介绍了TheDAO漏洞1. 介绍简要介绍了分布式加密货币和智能合约的概念。介绍了

2021-04-11 20:52:38 1287 1

原创 理解区块链——从搭建一个区块链入手

背景目前区块链的各种教程很容易让人似懂非懂,真正想理解,不如直接敲一遍,把每一步的逻辑理解清楚才是最实在的。环境测试环境:Google Colab1. 先定义好需要的工具有#flask 提供了一个基本的Web功能#requests 做接口测试可以用!pip install Flask==0.12.2 requests==2.18.4#API接口测试工具!pip install cURL2. 开始书写Blockchain类代码我们要明确blockchain它有的功能。首先

2021-03-29 13:43:44 364

论文阅读: A review on Generating Random Numbers in Decentralised Environment

论文背景论文地址:https://ieeexplore.ieee.org/document/9245302论文作者:Sr dan Daniel Simi´c, Robert Šajina, Nikola Tankovi´c, Darko Etinger发表学校: 普拉尤拉伊·多布里拉大学(Juraj Dobrila University of Pula)[来自克罗地亚的一所大学]发表会议:International Convention on Information, Communication

2021-03-29 12:42:14 207

原创 以太坊基本概念理解(组成,设计理念,应用)

目的直观理解以太坊运作规律理念。便于下一步对技术更深入的理解。以太坊特点以太坊是“世界计算机”,这代表它是一个开源,全球分布的计算机设施。每个节点都需要参与计算,其中一个矿工成功记账,其他的节点认可之后打包上链,则历史就无法篡改。然而历史上有重大的以太坊安全事件,这样就会产生硬分叉,例如说要求删除某些不正常的节点并要求其他节点回退到以前的版本类似的。执行称为智能合约(Smart Conrtact)的程序。使用区块链来同步和存储系统状态以及名为以太币(Ether)的加密货币,以计算

2021-03-28 00:04:26 3396

原创 探索Colab多终端(tmux)的应用——使用colab搭建以太坊私链

背景平常练习项目框架搭环境简直是痛苦之源,自从有了colab,感觉生活质量都提高不少。colab最主要的是应用的环境非常的干净,而且炸了立马可以重来,非常的方便。但是colab主要的问题是它无法实现终端的多开,例如Hadoop, Spark,或者要搭建区块链的测试框架都有多开终端的需求,然而colab目前来说没有一个完整的解决方案针对这个问题。这篇博客就针对这种情况,做了一套方案来解决这个问题。本文以以太坊私链为例(也是公司提得一个要求)其实通过这个方法,也可以解决colab同时运行多个命令行

2021-03-21 00:12:03 997 2

原创 李宏毅机器学习——作业三(CNN神经网络)

需求项目资料集为网络上收集到的食物照片,总共11类:BreadDairy productDessertEggFried foodMeatNoodles/PastaRiceSeafoodSoupVegetable/Fruit数据集链接:https://reurl.cc/3DLavLKaggle网址:https://www.kaggle.com/c/ml2020spring-hw3他们在kaggle上传了数据集,这样就好操作多了,一个Notebook基本都能搞定的。

2021-02-26 23:34:51 3659 1

原创 关于梯度爆炸和梯度消失的碎碎念

背景刚开始接触深度学习。希望做一些关于梯度消失和梯度爆炸的直观的理解。碎碎念1——深度学习的直观理解核心结构还是输入层-隐藏层-输出层。核心的逻辑还是用一个带权重的结构去拟合一个非常复杂的函数。更新权重的方法依旧是对整个网络的每一个权重都进行在梯度上的下降。求权重梯度的方式依旧是先正向过去,再反向传播。然后每个层输出计算出的值后需要使用激活函数。碎碎念2——为什么会产生梯度爆炸和梯度消失实际上罪魁祸首就是激活函数。例如说Sigmoid函数,在两个最远端的梯度都是0,中间梯度最

2021-02-26 23:33:51 134

原创 联邦学习后门攻击代码阅读——backdoors101

代码地址https://github.com/MrWater98/backdoors101论文地址https://arxiv.org/abs/1807.00459https://arxiv.org/abs/2005.03823代码阅读目标清楚概括代码运行过程。能将代码和论文相对应。收集目前还不了解的内容。只阅读和联邦学习相关的内容代码结构│ attack.py│ helper.py│ requirements.txt│ training.py├─config

2021-02-23 22:54:46 3549 20

原创 Pyspark IllegalArgumentException: label does not exist. Available: class, xxx

史上最惨痛的Debug经历整整debug了两天,我这边把原先的代码贴上来:关于处理kaggle上的mushroom数据集,我想用网格搜索来搜索合适的参数,然而却遇到了最惨痛的debug现场。from pyspark import SparkContextfrom pyspark.sql import SparkSession, Rowfrom pyspark.ml.feature import VectorAssembler, StringIndexer, OneHotEncoder, Ind

2021-01-28 00:02:54 2027

原创 莫队算法专题

概览莫对算法是一个对于区间、树或其他结构离线(在线)维护的算法,此算法基于一些基本算法,例如暴力维护,树状数组,分块,最小曼哈顿距离生成树,对其进行糅合从而产生的一个简单易懂且短小好写的算法此算法在很多情况下可以很轻松的切掉一些复杂而且难写的数据结构问题。引例给定一个大小为N的数组,数组中所有元素的大小<=N。你需要回答M个查询。每个查询的形式是L,R。你需要回答在范围[L,R]中...

2020-09-30 16:03:45 182

原创 雅思作文——阶段总结和思考

阶段总结回看目前的我的雅思作文写作,大概能够总结出的特点即是:混乱的语法,不恰当的用词,空洞的观点和不扎实的结构;于此细究下去有非常非常多细分的问题,我这边想一个个总结一下。A. 混乱的语法语法一个很核心的问题在于,我没有基本术语的概念。例如说,什么是“定语”,什么是“表语”没有概念。对于句子的结构和类型,我同样没有概念。定语从句,宾语从句,倒装句,强调句,一些条件假设的句子,我完全不得要领,经常会出现一些莫名其妙的错误,作文写了很多遍之后,错误还是依旧,整个不成体系。时态方面,完成时和过去

2020-09-11 18:19:18 444

原创 一文搞懂决策树原理

背景参加了NUS人工智能的远程夏令营,老师一个小时讲完决策树,讲的我头晕脑胀,写篇博客来总结一下。前序知识了解各种“学习”的类型。如监督学习,非监督学习等。对概率知识有基本了解。了解贝叶斯定理等(我下面也会解释)。基本的英语知识有过算法或者编程相关的课程学习经验。先来看个例子: 案例1 是否打网球这里有一个表格,记录某个人在某些天气情况下打不打网球。Outlook: 天气,temp:温度,Humidity:湿度,overcast: 阴天从直觉来看,我们最希望找

2020-09-02 20:33:32 346

原创 Jupyter 快速入门

为什么要用Jupyter Notebook以区块执行,方便看到每个小部分运行的结果。可以在中间插入Markdown语块,对于注释和相关图例说明非常方便。而且有很多奇怪的魔法函数,例如说“程序自动运行多次计算时间”,“插入特殊图例”等。而且他的file可以随时保存成非常多的格式,也可以配置远程云端环境,供大家实时修改学习。Jupyter Notebook 还支持非常多的其他语言,具体在这个网页: JupterNotebook支持语言。IpythonIpython是更高级的python解释器

2020-08-19 00:44:16 345

原创 A case of Photon synchronized scene(Photon引擎同步案例[全英])

GoalWhen player touch the sample cube and press B, center cube turn blue.When player touch the sample cube and press R, center cube turn red.Use photon to synchronizeStep 1: Make Player MoveAdd MoveCube to Playerusing UnityEngine;using System.Co

2020-06-15 12:40:51 970

原创 1. 用EasyTouch在unity构建有遥感控制的手游

1. 一些有关unity安卓平台的设置a. 添加安卓模块在unity hub里面选择添加安卓模块然后添加点击DONE等待安装b. 更改平台选择Switch Platformc. 安装安卓模拟器我这里装了雷电模拟器,它作为商业模拟器,不适合进行调试,但是凑合着用还可以。然后Build Setting页面选择"Refresh","Run Device"修改为雷电模拟器的手机。运行成功方向可以通过这个调整横屏2. 导入EasyTouch(手游遥感插件)a. 选择的

2020-06-13 22:16:08 636 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除