header image
avatar

Hackit

Hackit

Just Hack it
Subscribe to Hackit
Receive the latest updates directly to your inbox.
Card Header

以太坊智能合约逆向分析与实战:(6)访问动态数据类型 2

Publisher
Hackit
October 09
在之前的文章:以太坊智能合约逆向分析与实战:(3)\[实战篇] 访问私有动态数据类型 中,我们以破解链上某“猜数字”游戏为例,讲解了映射这种动态数据类型在 EVM 中的存储与访问,这次我们把目标对准另一种动态数据类型: 动态数组 ,看看 EVM 是如何实现动态数组的存取。首先我们先看一个简单的合约:
Card Header

以太坊智能合约逆向分析与实战:(5)深入EVM之合约的部署与调用

Publisher
Hackit
September 29
当我们部署和调用合约的时候,EVM 都在做些什么?
Card Header

以太坊智能合约逆向分析与实战:(4)复刻黑客的恶意合约

Publisher
Hackit
September 05
据路边社消息,前几天一个刚出校门的“Web3 创业者”发布了一个彩票项目,通过付费 mint NFT 的方式及 “实时开奖” 的玩法,用户在mint NFT 时有 1/2 的概率获得 1.9 倍的费用返还。(中奖率高达 50% ?!实际数学期望E(x)=0.5\*1.9 = 0.95,所以说久赌必输啊兄弟们!)
Card Header

以太坊智能合约逆向分析与实战:(3)[实战篇] 访问私有动态数据类型

Publisher
Hackit
July 24
通过之前的学习,我们了解到在 EVM 中,数据的存储是以”大端“ (bigendian) 的方式存储在”存储槽“ (slot)中的,变量的低位存储在 slot 的低地址中,每个 slot 的长度不超过 32 字节。关于全局变量的存储方式 ,一般来说,静态类型 在合约部署时已经按顺序存到了slot中,并从 slot 0 开始连续排列,按照类型的大小,有的变量单独占据一个slot,有些是好几个变量共用一个slot。然而,像映射、动态数组这些 动态类型 因为所需存储空间无法预计,因此并不是整个的放在某个slot 中,而是随用随存。以映射(MAP)为例,该类型首先会按以上的规则占个slot的位置,再通过一定的计算得到存放value的真实地址。只讲原理有些枯燥,我们举例说明吧!

以太坊智能合约逆向分析与实战:(2)深入了解以太坊虚拟机

Publisher
Hackit
February 15
关于以太坊虚拟机的实现原理及操作码分析,我自身掌握的一些知识也比较零散,但网上有很好的资料可以学习,通过阅读一系列文章,有助于梳理自己的知识点,把一个个离散的点串成一条线,为更加深入的学习打下基础。
Card Header

智能合约安全初探之撸爆小学生

Publisher
Hackit
February 09
About smart contract Hacking, and Solidity programing.

discordTalker_V1.0: 一个简单的Dsicord水群脚本(内附源码)

Publisher
Hackit
February 03
这是个很简单的演示脚本,通过调用Discord的API来实现定时向某个频道内发送指定的文本,额外添加了GUI界面以方便操作,一个实例仅能登录一个账号。(可以复制多份程序到不同的文件夹,以实现“多账号/多频道”发送)

以太坊智能合约逆向分析与实战:(1)以太坊虚拟机原理简析

Publisher
Hackit
January 08
如果你有二进制逆向的经验,那么以太坊智能合约的逆向是比较容易上手的。但首先我们要知道以太坊智能合约是如何运行的:

Hell0 W0r1d

Publisher
Hackit
December 17