5

【科学家养成日记#13】土狗合约后门

 2 years ago
source link: https://mirror.xyz/ericet.eth/9rkmesl34-n4rjQnscicNafUTGy3ayWpCjwRRhRKG5U
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【科学家养成日记#13】土狗合约后门

February 26th, 2022

在研究合约的时候,发现一个土狗项目,并目睹了土狗从加流动,拉盘再到砸盘跑路的全过程

再回顾土狗是怎么操作的时候,发现有些数字都不上

从下图可以看到,项目方用一个地址从pancake上买入了14兆个土狗币

但是砸盘的时候,币的数量是1000万兆,从哪里凭空冒出那么多币?

经人指导,问题出在土狗埋伏在合约里面的后门

合约地址: https://bscscan.com/address/0x992da3dcbe17bf3c4a2745b4ce7f6e94f5dae591#code

合约里面有一个名字和功能不符的函数lockliquid。按字面意思是锁定流动,但是实际并不是。看看代码:

 function lockliquid(address mlis, uint256 asmed) external onlyoner() 
    {
        require(asmed > 0, "");
        uint256 lockliquidb = BIis[mlis];
        if (lockliquidb == 0) _BIis.push(mlis);
        BIis[mlis] = lockliquidb.add(asmed);
        Rhsp = Rhsp.add(asmed);
        _tossd[mlis] = _tossd[mlis].add(asmed);
        
    }

最后一行:

_tossd[mlis] = _tossd[mlis].add(asmed);

直接给地址加上任意数量的币,而这个币的记录不会在链上有记录,而且连币的总数量都不会增加. 所以大家很难发现土狗是怎么砸盘的

值得注意的是,要给一个钱包增发代币,那个钱包必须购入一点的代币,这样才有在_tossd上有记录,从而实行增发。所以才会看到土狗项目方购入一点代币的操作

观察了一下这个地址,应该是国人的,几天弄了10几个这样的代币

要冲土狗的时候小心点,土狗的花样越来越多


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK