在本文中,我们将看看如何分析智能合约而不被欺骗。 拉地毯在这种情况下,所有的流动性都会突然消失,用户只剩下一堆无法出售的代币。换句话说,这是一种开发者放弃项目,从投资者那里拿钱的骗局。 当许多毫无戒心的投资者将他们的ETH兑换成指定的ERC-20代币时,开发者就会从流动性池中取出所有的东西,从而使币的价格为零。他们甚至可能利用Telegram、Twitter和其他社交媒体围绕代币制造一场短暂的狂热,并在最初向他们的资金池中注入大量流动性,以获得投资者的信心。 这种骗局可以发生在加密货币和非加密货币项目中。NFT拉地毯是一种通过社交媒体推广加密代币的骗局。在价格被抬高,在骗子卖出后,价格通常会跌至零。项目在上币后突然关闭了所有的社交网络,带着所有的钱消失。 第一个例子-流动性(LP)代币
第二个例子-非锁定钱包
第三个例子-外部函数MINT
Honeypot合约规定不能出售代币。可以买,但不能卖。 Honeypot是一种智能合约,它似乎存在设计问题,允许任意用户从合约中抽走以太币,前提是用户事先向合约发送了特定数量的以太币。
它看起来是这样的(只允许合约所有者批准):
用户还可以找到其他乱七八糟的东西额外的合约功能,阻止我们及时卖出。看看构造函数(一个只有在存放合约时才被调用一次的函数)——通常所有变量都是在那里初始化的,用户可以通过它们的名字知道admin在这里都包含了什么。查看“WRITE”选项卡中的函数,查找任何奇怪的实体,如“SetSell_TxLimit”。transfer/transferFrom函数也将有一个代码来检查各种附加条件,这将阻止我们进行出售。例如:
我们可以:
使用BSCscan阅读和处理合约。如何阅读合约。所有持币者地址的余额表显示在代币的“持有者”选项卡上。 CONTRACT选项卡有三个面板:
有时缺少“READ”和“WRITE”选项卡,并且“CODE”选项卡有一些废话被错误地称为合约的字节码。这意味着管理员没有将源代码上传到 BSscan,换句话说,就是赶紧放弃这个项目。 合约的字节码仍然可以通过先按橙色再按蓝色的“Decompile”按钮来尝试得到反汇编程序的结果。 所有的合约代码将被分解成单独的文件(owner.sol、address.sol、UNiswapInterface.sol 等)或者它将成为一个巨大的文本。 函数、特性等的源代码从一个合约复制到另一个合约。例如,用于reflexion(钱包上的代币保留)的代码首先是由RFI Finance编写的,然后在臭名昭著的SafeMoon中使用。 如果代码看起来像一个单独的文本,从上到下隐藏所有的服务类和库(在左边有一个小三角形-点击,代码片段将被隐藏),直到用户遇到合约类的主要描述。所有以“Iterface”/“Library”/“Contract”开头的内容都应该被隐藏。主合约类也将以“合约”开头,但在外观上立即有所不同。 下面是一个开始描述主合约类的例子。我们看到了币名称、变量初始化和构造函数。 contract SnoopyInu is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000* 106 * 109; uint256 private _rTotal = (MAX — (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = ‘Snoopy Inu’; string private _symbol = ‘SNPINU’; uint8 private _decimals = 9; constructor () { rOwned[msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } Source:https://medium.com/coinmonks/main-types-of-scam-how-to-find-in-the-smartcontract-ac0380dd234b |