hex

DDR3(8):添加UART发送和HDMI显示

社会主义新天地 提交于 2020-12-19 18:54:17
  前期工作完成后,就要设计发送和显示了,本次设计采用 UART进行发送和 HDMI 进行显示。 一、总体框架 二、PC端UART   用串口助手即可,网上很多这种软件,发送时注意一下波特率、停止位和 hex 格式。图片数据的产生采用 Matlab 软件,将图片转换成 RGB565 的 16bit 像素数据,每个像素数据用两个 8bit 数据表示,串口发送两个数据表示一个像素点。 三、uart_rx   之前的博客已经详细介绍了串口的发送和接收,此处不再赘述。 四、8转128bit 1、方法1 本来的设想是串口过来的 8bit 数据直接转成 128bit 的数据,后来发现 FIFO 不给力,写 8bit,读只能最多选 64bit,因此先代码设计一下 8bit 转 16bit,再用 FIFO实现 16bit 转 128 bit。这里 FIFO 除了转bit位数,还一个功能是跨时钟域。此外设计读使能时需注意,因为 user_wr_ctrl 模块里设计的突发长度是64,因此设计 FIFO 时需要注意两点:一是FIFO内的数据个数必须大于64才能启动读,也就是用户写;二是读使能64次后关闭读使能,又回到第一步判断是否能启动读。如此反复。 // ==========================================================================

PHP json_encode函数的参数说明

不打扰是莪最后的温柔 提交于 2020-12-19 10:06:00
PHP json_encode函数的参数说明 一、总结 一句话总结: · json_encode常常被用于将数组转换成json格式的字符串来表示,但是json_encode的第一个参数却并不一定是数组格式,第一个参数可以为对象,数组,字符串。 · object和array类型转换为json字符串之后没有差别,而string被json_encode之后,string中的【'】,【"】,【\】,【/】会被转义。 1、json_encode第二个参数稍微常见例子? JSON_UNESCAPED_UNICODE (integer) 以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)。 自 PHP 5.4.0 起生效。 JSON_HEX_TAG (integer) 所有的 < 和 > 转换成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。 JSON_HEX_AMP (integer) 所有的 & 转换成 \u0026。 自 PHP 5.3.0 起生效。 JSON_HEX_APOS (integer) 所有的 ' 转换成 \u0027。 自 PHP 5.3.0 起生效。 JSON_HEX_QUOT (integer) 所有的 " 转换成 \u0022。 自 PHP 5.3.0 起生效。 JSON_FORCE_OBJECT (integer)

php中文和unicode互转

[亡魂溺海] 提交于 2020-12-19 08:44:56
unicode转中文时可以使用json_decode()函数实现。 中文转unicode时需要对字符串转换成UCS-4编码,再转成16进制,再从16进制转换成10进制加上&#前缀来实现中文转unicode编码。 一、unicode转中文 php <? php //unicode转中文 function unicodeDecode ( $unicode_str ){ $json = '{"str":"' . $unicode_str . '"}' ; $arr = json_decode ( $json , true ); if ( empty ( $arr )) return '' ; return $arr [ 'str' ]; } $unicode_str = "\u4e2d\u56fd" ; echo unicodeDecode ( $unicode_str ); 二、中文转unicode php //中文转unicode function UnicodeEncode ( $str ){ //split word preg_match_all ( '/./u' , $str , $matches ); $unicodeStr = "" ; foreach ( $matches [ 0 ] as $m ){ //拼接 $unicodeStr .= "&#" . base

[系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战

笑着哭i 提交于 2020-12-18 07:33:18
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~ 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战和Windows漏洞利用等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。前文作者普及了逆向分析基础知识,告诉大家如何学好逆向分析,并给出吕布传游戏逆向案例。这篇文章将详细讲解IDA Pro反汇编工具的基础用法,并简单讲解一个EXE逆向工程解密实战方法,希望您喜欢。 话不多说,让我们开始新的征程吧!您的点赞、评论、收藏将是对我最大的支持,感恩安全路上一路前行,如果有写得不好的地方,可以联系我修改。基础性文章,希望对您有所帮助,作者的目的是与安全人共同进步,加油~ 文章目录 一.IDA Pro工具简介及初识 1.IDA Pro简介 2.IDA Pro新建工程 二.IDA Pro工具基本用法 IDA View窗口 Hex View窗口 Strings窗口 文件类型 三.IDA

狂揽2500星,开源十六进制编辑器登顶GitHub热榜

此生再无相见时 提交于 2020-12-17 22:10:01
来源:机器之心 本文 约1200字 ,建议阅读 5 分钟 本文为你介绍 GitHub 上最火的项目:十六进制编辑器。 最近在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 star 量。 十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。 常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据。对于需要处理二进制数据的用户,它非常受欢迎,例如使用十六进制编辑器可以更改游戏中的部分设置。 常用的十六进制编辑器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多数编辑器一样,人们对于十六进制编辑器的要求包括功能强大、可定制性、界面美观。近日,GitHub 上开源了一款名为 ImHex 的十六进制编辑器,上线 5 天,狂揽 2500 star。 项目地址: https://github.com/WerWolv/ImHex 十六进制编辑器 ImHex 项目作者在 readme 文件中首先介绍了 ImHex 编辑器实现的功能特性。 特征 十六进制视图 字节补丁 补丁管理

AES_RSA _加密_调用

送分小仙女□ 提交于 2020-12-17 04:57:00
# AES RSA 加密 from Cryptodome.Cipher import AES from Cryptodome import Random import rsa from binascii import b2a_hex,a2b_hex #python 字符串与16进制互转 # class MyAES(): def __init__(self,key,mode=AES.MODE_CFB): ''' :param key: 是秘钥 :param mode: 默认 ''' self.key = self.check_key(key) self.mode = mode self.iv = Random.new().read(AES.block_size) def check_key(self,key): #检查key(秘钥)的类型 ''' 长度是限制 必须是bate类型 :return: ''' if isinstance(key,bytes): # 判断类型的方法:判断 key是不是bytes类型 assert len(key) in [16,24,32] #判断他的长度与是不是16 24 32其中之一, return key elif isinstance(key,str): assert len(key.encode()) in [16,24,32] return

USB转串口连接线与串口调试助手的使用

我是研究僧i 提交于 2020-12-16 08:45:09
---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- ----------- 点击此处链接至博客园原文 ----------- 功能说明:宇泰UT-890A USB转RS-485/422串口连接线的使用、串口调试助手的使用 运行环境:Windows7 文件下载: 驱动程序下载 uw6n 一、宇泰UT-890A的使用 该产品为USB转RS485/RS422串口连接线,能够实现从U口到RS485(接1、2接线柱,如图中黄绿线)或RS422(接1、2、3、4接线柱)的串口通信,即通过计算机U口发送485/422指令,通过RS485/422控制线执行相关指令操作。首先需要在官网下载相应驱动(产品内也提供了驱动光盘)并安装,解压驱动压缩包,选取..\390-11000880 V01\Driver\win xp server2003 2008 2012 Vista 7 8 8.1 10 32-64bit\中Autoinstaller_WHQL_CDM2.12.24_Win 2K, XP, Vista, 7, 8, 8.1, 10, 32_64bit.exe傻瓜式安装,在设备管理器中能看到该串口代表驱动安装成功,过程较为简单,注意选对相应环境的驱动。 二、UartAssist串口调试助手的使用 如上,界面较为简单,注意在使用前配置串口号、波特率

一个CS马伪装下的loader样本分析

末鹿安然 提交于 2020-12-14 22:19:00
原文来自 SecIN社区 —作者:寅儿 0x01 开源情报收集 样本下载链接: https://app.any.run/tasks/ffc1ecff-e461-4474-8352-551db7e7b06f/ 常用平台:VT,微步,哈勃 app.any.run, joesandbox 图一:VT检测 木马实锤 沙箱跑一下看一下行为: 图二:沙箱行为分析 可以看到用GET请求访问C&C服务器下载了一个二进制binary文件。 点开binary文件查看详情: 图三:恶意binary dump下来wireshark数据包,过滤http请求同样可以发现该二进制文件 图四:抓包分析 查询C&C服务器ip: 图五:ip检测 现在对该恶意软件已经有了初步了了解,下面进行数据包分析,看看能不能找到有用的信息。最直观的看到就是使用了非常见的端口连接,还有发现一个有趣的现象: 图六:数据包分析 竟然是肉鸡主动连接的C&C服务器,让我联想到了CS马。这种手法类似于反弹shell,好处就是可以绕过防火墙限制,如果对方是内网ip,你无法直接发起连接请求,方便持久化控制等等。 0x02 样本基本信息 用exeinfo查壳,标准的32位VC编译的程序 图七:样本信息 用Process Monitor监控行为 图八:软件行为 具体每一项的图略了,大概看了一下读取了注册表的某些键值,设置了某些键值对的值

带你了解 Unicode和UTF-8编码知识

和自甴很熟 提交于 2020-12-14 10:05:36
导读 一直以来总是对 unicode, UTF-8 等编码知识懵懵懂懂的,尤其是在做项目过程中只要涉及到几个编码之间的转换,都得到网上搜索一番,根据别人的经验照葫芦画瓢,才能解决问题,但是私底下却完全不懂在做什么。我再也不愿意重复这种状态了,于是就花了一个上午的时间,将这些知识整理了一遍。如果您觉得我的总结有疑问或者错误的地方,欢迎讨论交流,批评指正。 正题之前,先引入我总结的 Unicode 思维导图来预热下: 要了解 Unicode, 先要从 ASCII 码说起。 ASCII 码 什么是 ASCII 码? ASCII 码(American Standard Code for Information Interchange)称为美国标准信息交换码。它是基于拉丁字母的一套电脑编码系统。它定义了一个用于代表常见字符的字典。 ASCII 码都包含哪些字符? 包括 "A-Z"(大小写都包含),数据"0-9" 以及一些常见的符号。 ASCII 码的局限在哪里? ASCII 当初只是为美国英语而设计的,只能显示 128 个编码,对其他的语言无能为力。要想显示其他语言的编码,还是要使用 unicode。 Unicode 什么是 Unicode ? 为了将全世界的文字都统一的记录下来,并将每个字符都用唯一的数字记录下来,于是就产生了Unicode。 Unicode 也称为 UCS

Write hexadecimal values into register with leading zeros

时光怂恿深爱的人放手 提交于 2020-12-13 03:04:02
问题 I have an string array which contains 16 hexadecimal values. I need to convert them into byte to write them at Modbus's device register(size of each register is 16-bit). We have 8 registers to write 16 hexadecimal values . So, I'm converting them into the short and from short to byte for write them at device's register. Here is my code -- String[] advanceByte = { "00", "00", "00", "00", "07", "46", "46", "07", "01", "00", "02", "02", "02", "03", "00", "00"}; short[] hexToShort = new short[16]