长推:拨开云雾,看清「土狗项目」新套路

互联网 阅读 1861 2023-07-10 17:20:00

注:原文来自@gooo_robin发布长推。

1/14

土狗新套路来了

@0xSunNFT DM讨论之后细看了下合约代码和交互路径,感叹链上钓鱼还是太会玩了,这次的迷惑性超过以前"做手脚欺骗监控工具"的套路,往下看。 (内容比较长,没时间的可以跳到12-14/14先看总结)

2/14

主要问题: 一个土狗 $PSY 从链上直观地看,代码开源,开始也把LP打入黑洞并丢掉了权限。但实际上还有个第三方地址拥有天量代币 (远超代币初始Supply),后面一次性砸盘全卖了,而这个第三方地址只有卖掉 (转出) $PSY 的记录,完全没有转入的记录。换句话说,这个第三方地址"凭空"出现了天量代币。

3/14

表象:

- $PSY 合约: 0x12b71eAC1e4ca3FB62A980C5FAE1442dD3Ea91Ea

- LP打入黑洞tx: 0xedb721e1ef43f60cb63341a7ba57f1c769da40c27db47b7c8c5c196fcfe81c2d

- $PSY 部署者放弃权限tx: 0xf13c902d597c96bc02592541b4cf3cc03149f80a8f293eb0c34dcf0d202c68c3

一切都看起来很正常。

Uniswap

Uniswap

4/14

怪象:

大概20小时之后出现一个第三方地址0x61de69b7fe583E4547e67b4D0DA0cd9ecf526DC6,将10000000000B的代币直接砸盘归零,换出2个e,而 $PSY 的供应量仅仅为 100M,相当于这个地址砸出了Total Supply的100B倍的量。更奇怪的是这个地址只有转出记录,没有转入 $PSY 的痕迹:

Uniswap

UniswapUniswap

5/14

6DC6这个地址也只有6条Transaction记录,没有任何一条是向该地址转移 $PSY ,所以是如何做到在LP打进黑洞并放弃权限的前提下,这个地址还能莫名其妙地多出这样"天量"的代币呢?

6/14

解析1:

把目光移回 $PSY 的合约代码,Constructor中定义了router和taxwallet_,_router是一个IUniswapV2Router02类型的变量,IUniswapV2Router02是Uniswap V2的路由器合约接口,但在这里被初始化为router参数的值,而router参数的值可以在源代码下方的"Constructor Arguments"找到,如下所示:

Uniswap

7/14

解析2: 所以这里_router将指向Uniswap的路由器合约地址,这个地址是0x96e7AFd8829b2Ae5cCDaABeA04B63cBDf4961Cd8,但这并不是Uniswap V2主网路由器的标准地址。

标准地址为0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

8/14

解析3: 代币合约中可以看到_router被用于各种函数,例如在_transfer函数中,_router.transfer(to)和_router.Path(from),这些都是调用Uniswap路由器合约 (这里即1Cd8地址)的函数。transfer和Path并不是Uniswap路由器合约的标准函数,是这个欺诈者自定义的函数:

Uniswap

9/14

解析4:

于是追溯到这个router合约地址0x96e7AFd8829b2Ae5cCDaABeA04B63cBDf4961Cd8,果然源代码是未公开的。通过byte codes找到了和这个合约相同套路的另一个合约,地址为0x0D71773a5FD5E1Be5F28B8134797595B3E61e08b,同样源代码也没有公开,也是相同的部署者,在7月8日部署 $WPEPE 再次作恶。

UniswapUniswap10/14

解析5:

倒回到"解析3",可以看到taxwallet_被赋值为0x61de69b7fe583E4547e67b4D0DA0cd9ecf526DC6,而这个地址刚好就是最后天量抛售的地址。回归到 $PSY 合约的源代码,可以发现在_transfer函数后面还包含了一些作恶的条件语句和赋值操作,比如红框中将6DC6地址的余额设为最大的uint256值:

Uniswap

11/14) 解析6: 以及在转移过程中调用_router.transfer(to)和_router.Path(from),_router合约不开源,所以部署者可以任意魔改达到其掩人耳目的目的。以上对地址余额的修改和对_router的调用便造成了6DC6地址凭空多出了10000000000B的 $PSY:

Uniswap

Uniswap

12/14

总结1:

部署者通过表面将代币合约源代码公开,实际上 1. 将自己写的不开源router合约伪造设置成Uniswap V2主网路由器的标准地址。 2. 偷偷在Transfer函数后添加作恶代码,修改税收地址的代币余额,并且每次执行_transfer函数_router.transfer(to)和_router.Path(from)都会被调用,达到作恶目的。

13/14

总结2:

这种套路仅通过观察交易路径是无法辨别的,并且很容易被表面开源代币合约代码蒙蔽,其实真正作恶的router函数并没有开源,并且在代币合约中也夹杂了很多作恶代码逻辑。我们能做的也只有对代码多加审视,但这又会付出更多时间成本,可能会错过大量alpha,也可能逃过一劫,权衡利弊很重要。

14/14

总结3: 对于不懂代码的交易者来说,冲土狗真的风险极高,这样的混沌市场套路确实太多。 真心希望大家能对代码更加谨慎,有朋友DM我说怕问的问题太蠢,但其实完全没必要担心这个,有任何问题都可以评论一起研究! 如果有帮助的话欢迎转发关注,尽量帮到更多的人。

祝大家顺利度过深。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:长推:AI和加密货币并非敌人,而是朋友 下一篇:Fei团队面临集体诉讼,没想到有天能在Discord里看到法院账号

您可能感兴趣