• 黑客们会用到哪些Python技术?
    来自公众号:Python程序员译者:zfzf1236原文链接:https://insinuator.net/2015/09/python-for-hackers/Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的(除了用Ruby写的安全漏洞检测工具)。Python允许开发者编写脚本处理远程服务,处理二进制文件,与C语言库(或者Java的Jython/。Net的IronPython)以快速且简单的方式进行交互。它“内置电池”原则的巨大标准库,为开发省去对其它框...
  • 聊聊gRPC的接口描述语言ProtoBuffer(二)
    Base 128 varint就是,在设置二进制网络协议通信时,这种好处是可观的,能够带来性能上的提升。示例:我们用一个数字10和数字300来讲解一下上面的Base 128 varint先说数字10,转化为二进制后是:0000 1010,为什么只有八位呢,因为10用一个字节表示已经足够了,最高位为0,表示这是最后一个字节了,不需要再用额外的字节来存储了再来看数字300,转化为二进制后是:00010010_1100,转化成varint,如下步骤:按照7位进行分开, 0000010_0101100,不够的补0进行反转:0101100_0000010最高位补数,第一个字节最高位补1,第二个字节最高位补0:10101100_00000010ProtoBuffer序列化后的存储格式是什么样的呢?ProtoBuffer对不同类型数据采用
  • 关于Dubbo序列化协议,面试官喜欢问那些问题?
    Python开发点击右侧关注,探讨技术话题!作者丨yanglbme编辑丨Java面试那些事儿来源丨http://1t.click/MXjdubbo 支持哪些通信协议?为什么 PB 的效率是最高面试官心理分析。接着就可以针对底层进行深入的问问了,比如第一步就可以先问问序列化协议这块,就是平时 RPC 的时候怎么走的?dubbo 支持不同的通信协议1、dubbo 协议默认就是走 dubbo 协议,单一长连接,进行的是 NIO 异步通信,基于 hessian 作为序列化协议。dubbo 支持 hession、Java 二进制序列化、json、SOAP 文本序列化多种序列化协议。
  • 黑客们会用到哪些Python技术?
    Net的IronPython)以快速且简单的方式进行交互。我想跟读者们分享个人的Python编程经历,这些也许会对你未来的工作有所帮助,让这个世界变得更加安全一些。读者可以手动地使用个人发行版包管理器,或者基于Python3.4提供的库,安装pip包。有一个基本的python包叫iPython,通常在我不是100%肯定该如何解决当前任务,想尝试做些实验时,我会安装这个依赖包。在Python2.x版本中,通常使用encode或者decode方法将字符串在不同格式之间转换。
  • 关于二进制世界的秘密
    二进制数如何表示负数呢?因为在计算机中,把 8 位二进制数称为一个字节, 一个字节有 8 位,也就是由 8个bit构成。对于二进制数,计算机不会区分他是 图片、音频文件还是数字,这些都是一些数据的结合体。二进制数的运算每次都会以2为底,这个2 指得就是基数,那么十进制数的基数也就是 10 。移位运算和乘除的关系在了解过二进制之后,下面我们来看一下二进制的运算,和十进制数一样,加减乘除也适用于二进制数,只要注意逢 2 进位即可。
  • 从 Java 强转 byte 的车祸现场说起很多人不懂的原理
    要搞清楚上面 Java 代码的运算逻辑,我们首先要做的是将对我们人脑直观的十进制数字转换成对计算机直观的二进制,这里就用到了一个概念叫比特位,这是计算机最小的存储单元了,表示二进制的存储位。所以,根据上图高位舍弃的强转后,你自己也可以看出来,最后得到的 byte 十进制表示数字 0 。老师有没有告诉过你,Java的数据是带符号的?这可不是巧合,这是因为 20 已经超出了4 位二进制所能表示的最大数,产生进位溢出,这个溢出的数刚好就是那个整数 16。
  • 一个有趣的实验:用0.1f 替换 0,性能提升 7 倍!
    我们先来看下浮点数二进制表达的三个组成部分。三个主要成分是:Sign:表示浮点数是正数还是负数。浮点数具体数值的实际表示。Step 1 改写整数部分 以数值5.2为例。所以省略小数点前的一个bit不会造成任何两个浮点数的混淆。具体填充后的结果见下图什么是Denormalized Number了解完浮点数的表达以后,不难看出浮点数的精度和指数范围有很大关系。最显然易见的一种副作用就是:当多次做低精度浮点数舍弃的后,就会出现除数为0的exception,导致异常。但是,精度的提升是有代价的。由于CPU硬件只支持,或者默认对一个32bit的二进制使用规格化解码。因此需要支持32bit非规格数值的转码和
  • 为什么将 0.1f 改为 0 会使性能降低 10 倍?
    我们先来看下浮点数二进制表达的三个组成部分。三个主要成分是:Sign:表示浮点数是正数还是负数。浮点数具体数值的实际表示。Step 1改写整数部分 以数值5.2为例。整数部分很简单,5.即101.。所以省略小数点前的一个bit不会造成任何两个浮点数的混淆。具体填充后的结果见下图什么是Denormalized Number了解完浮点数的表达以后,不难看出浮点数的精度和指数范围有很大关系。最显然易见的一种副作用就是:当多次做低精度浮点数舍弃的后,就会出现除数为0的exception,导致异常。
  • 适用于各种体系结构的初学者的Linux二进制漏洞利用开发任务
    Linux的PWN并不难这是一套针对初学者的Linux二进制漏洞利用开发任务,目前这一套学习内容主要针对的是堆栈缓冲区溢出问题。我创建这个项目是为了学习如何在不同体系结构上执行简单的二进制开发,出于教育目的,在解决这一系列任务时,必须遵守下面列出的一组规则。
  • 信安之路二进制安全小组招募志同道合的朋友
    二进制安全是通过编译的二进制文件,尝试重建或简单理解程序原始的工作方法,通过分析来推导出具体的实现方法。对于逆向能力的提升,个人认为除了不断积累经验以外没有其他方法。当然需要一群志同道合的朋友一起学习,互相分享在实际逆向过程中的经验与技巧。基于以上的考虑,我们想组建一个二进制逆向小组,作为一个技术交流的小圈子。
  • 固件分析--工具、方法技巧浅析(上)
    再次提醒,多结合固件的使用场景对进一步分析是十分有益的。如果你知道该固件是用在裸机芯片上的,但是你没有该芯片的 datasheet,那么你可能会做一些字节级别的分析工作。一条基本的命令strings file.bin将返回 ASCII/ISO 4 字符串。strings -tx file.bin-t选项用于返回文件中字符串的偏移。所以,该命令其实就是一个 hex dump 工具。因此,借助 hexdump可以很方便地获取二进制文件中的 字符串以及对该文件的总体轮廓。file 是通过检测文件头部的 magic bytes 工作的。无法界定的文件类型会被标记为“data(数据)”。
  • 为什么将 0.1f 改为 0 会使性能降低 10 倍?
    我们先来看下浮点数二进制表达的三个组成部分。三个主要成分是:Sign:表示浮点数是正数还是负数。浮点数具体数值的实际表示。Step 1改写整数部分 以数值5.2为例。整数部分很简单,5.即101.。所以省略小数点前的一个bit不会造成任何两个浮点数的混淆。具体填充后的结果见下图什么是Denormalized Number了解完浮点数的表达以后,不难看出浮点数的精度和指数范围有很大关系。最显然易见的一种副作用就是:当多次做低精度浮点数舍弃的后,就会出现除数为0的exception,导致异常。
  • 2019网络空间安全国际前沿学术研讨会在京召开
    会议现场9月22日下午,由清华大学网络科学与网络空间研究院主办,中科院软件所和网安国际论坛InForSec联合承办、奇安信集团协办的“2019网络空间安全国际前沿学术研讨会”在北京国家会议中心召开。俄亥俄州立大学张殷乾、加州大学尔湾分校李洲、新加坡国立大学蔡镇隆、清华大学网络科学与网络空间研究院李琦、清华大学信息国家中心副研究员吕勇强、加州大学河滨分校教授尹恒等国内外知名学者分享了网络攻防最新研究成果和国际最新技术进展,清华大学-奇安信联合研究中心主任段海新教授出席会议并致辞。
  • GNU binutils 里的九种武器 | Linux 中国
    你也可以拥有这样的超能力,GNU 二进制实用程序就是一个很好的起点。GNU binutils是一个二进制工具集,默认情况下所有 Linux 发行版中都会安装这些二进制工具。本文探讨了 binutils 可用的一些工具。我使用的是 RHEL,但是这些示例应该在任何 Linux 发行版上可以运行。编译的基础知识在深入研究 binutils 软件包本身之前,最好先了解编译的基础知识。在 Linux上,这称为ELF。在此示例中,头文件stdio.h将被包含在源代码中。stdio.h是一个头文件,其中包含有关程序内使用的printf函数的信息。这个阶段使用GNU 编译器集合。
  • 为什么将 0.1f 改为 0 会使性能降低 10 倍?
    我们先来看下浮点数二进制表达的三个组成部分。三个主要成分是:Sign:表示浮点数是正数还是负数。浮点数具体数值的实际表示。Step 1改写整数部分 以数值5.2为例。所以省略小数点前的一个bit不会造成任何两个浮点数的混淆。具体填充后的结果见下图什么是Denormalized Number了解完浮点数的表达以后,不难看出浮点数的精度和指数范围有很大关系。最显然易见的一种副作用就是:当多次做低精度浮点数舍弃的后,就会出现除数为0的exception,导致异常。
  • 为什么「0.1+0.2!=0.3」,而「0.1+0.3==0.4」
    浮点数运算就是这样一个问题,每个人都知道浮点数运算有精度损失,但是为什么「0.1+0.2!=0.3」,而「0.1+0.3==0.4」:img除了含含糊糊的精度损失,你能给出更有营养的解释么?让我们看看到底是为什么!既然存在精度损失,那么「0.1 + 0.2 != 0.3」也说得过去,我们推算一下为什么「0.1 + 0.3 == 0.4」:十进制的「0.1」近似等于二进制「0.00011」十进制的「0.3」近似等于二进制「0.01001」十进制的「0.4」近似等于二进制「0.01100」于是,十进制的「0.1 + 0.3」也就是二进制的「0.00011 + 0.01001」: 0.00011+ 0.01001--------- 0.01100不多不少,答案正好是 0.4!
  • PHP大文件切割上传并带上进度条功能
    大家都知道php上传文件有限制,如果没有修改过php.ini文件的话,默认的上传大小限制为2M,那么该如何上传大文件了,比如说上传一个1G多的大文件,可以使用大文件切割上传的方式来解决。何为大文件切割上传?原理:利用HTML5的新特性,将文件内容切割成分段的二进制信息,然后每次向服务器上传一段,而服务器,只需要把我们每次上传的二进制信息整合存储到一个文件中,那么最后这个文件就是所上传的文件。DOCTYPEhtml><html><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><title>大文件切割上传带进度条</title><linkrel="stylesheet"href=""><script>varxhr=newXMLHttpRequest();//xhr对象varclock=null;functionselfile(){clock=window.setInterval;}varsendfile=();functionup{xhr.open;xhr.send;}</script><style>#progress{width:500px;height:30px;border:1pxsolidgreen;}#bar{width:0%;height:100%;background-color:green;}</style></head><body><h1>大文件切割上传带进度条</h1><divid="progress"><divid="bar"></div></div><inputtype="file"name="video"onchange="selfile();"/></body></html>13-slice-upload.php<?一文搞明白Nginx核心原理·END·PHP开源社区进阶·提升·涨薪
  • 为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?
    因此,JavaScript提供的有效数字最长为53个二进制位。此时,虽然0.1+0.2与0.3+0.4进行舍入操作的近似位都为1,但一入一舍导致计算结果与“标准答案”的异同。当粘滞位为0时,若近似位为0则舍去。当粘滞位为0时,若近似位为1,无论舍入精度损失都相同,故需取舍入两种结果中的偶数:保留位为1时入,保留位为0时舍。
活跃用户
《中国银行保险报》是中国银行保险监督管理委员会主管唯一工作日报。
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
这里有技术、算法、职场、感悟、面经、资源,一线大厂干货,10万 + 程序员都在看,做一个有趣的帮助程序员成长的公众号,每天早上8点20,第一时间与你相约。
《前端剑解》 —— 是由海之林技术团队维护的前端公众号,关注前端技能的发展;【前端面试每日3+1】 —— 365天,每天早上5点发布面试题(html, css, js, 软技能),以面试题来驱动学习,提倡每日学习与思考,每天进步一点!
号主是来自后厂村的十年资深架构师,技术leader,著有两本技术畅销书,多个业界顶级技术大会的特邀演讲嘉宾和出品人。除了分享技术干货,还关注程序员的技术生活、职场晋升、逆袭成长,助力10万+程序员崛起。
Flink/Spark/Hadoop/数仓开发,干货,面试,资料下载,源码解读等
《科技日报》是富有鲜明科技特色的综合性日报,是面向国内外公开发行的中央主流新闻媒体,是党和国家在科技领域的重要舆论前沿,是广大读者依靠科技创造财富、提升文明、刷新生活的服务平台,是中国科技界面向社会、连接世界的明亮窗口。
华为技术有限公司官方微信帐号
每天分享 Java技术栈 干货,路虽远,行则必至。
“早春江上雨初晴,杨柳丝丝夹岸莺。画舫烟波双桨急,小桥风浪一帆轻”,这是机器通过学习中华诗词然后以”早春“为题所写的一首诗。很多人非常恐惧AI的发展对人类的冲击,但我坚信AI会让世界变得更加美好,生活是美好的,所以我们一起,勇敢AI吧!
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
程序员职业规划:职场晋升之路;探讨程序员转化转管理之路。程序员学习管理之道:团队管理、项目管理、管理工具的推荐和使用经验。
乔哥是百度java工程师,专注Java相关技术:Java面试、Spring全家桶、微服务、Mysql、集群、分布式、中间件、Linux、网络、多线程等,致力于Java全栈开发!
西安交大品牌讲座“学而讲坛”创始人和负责人,致力于打造一个跨界融合的学术共同体。北大文学博士,西安交大国家大学生文化素质教育基地副主任,人文学院高培中心主任,著有《陕西文化产业实战研究》、《视觉素养导论》、《艺术导论》、《读图范式》等。
专注于分享互联网技术文章。笔者待过BAT等一线互联网公司,文笔流畅,酷爱写作与编码,期待你的关注!