Scam Bot uniswap. Видео с 1.3 млн просмотров.
И так, для тех кто открыл эту статью НЕ после просмотра моего видео, рекомендую начать с него ТЫК
Немного предыстории. В поисках видео про скам-контракт с легендой о торговом LIQUIDITY BOTе, я наткнулся на это:
1,3 млн просмотров на откровенно мошенническом видео!
До этого я разбирал контракт с похожего видео, где деньги уводит код импортируемый с npm(вот его код - ТЫК ),
но в этом контракте ТЫК импорта не было!
Я решил разобраться
Для начала, я задеплоил контракт в Remix:
Публично открыты только две функции. Start, которую предлагают вызвать в видео и Withdraw.
Я решил убедиться, что контракт действительно уводит деньги, НУ МАЛО ЛИ :))
Я добавил функцию balanceThis, чтобы проверить баланс на контракте после пополнения
function balanceThis() external view returns(uint) {
return address(this).balance;
}и так как функция Start в контракте
function start() public payable {помечена как payable, я могу отправить деньги на контракт вместе с ее вызовом.
Деньги отправились, проверяем баланс
Предположения верны, значит будем искать адрес, куда они отправляются!
Продолжаю поиск
Очевидно, нужно начинать поиск с публичных функций. В контракте их 2:
В них все понятно, они вызывают отправку всех денег с баланса
address(this).balance
payable(_callFrontRUnActionMempool() и payable(withdrawalProfits())
parseMemoryPool(callMempool())
которая принимает строку из функции callMempool
Для начала давайте посмотрим в Remix, что возвращают эти функции.
Для этого я изменю области видимости с internal на public.
Дальше снова закинем 1 eth при вызове Start, посмотрим, что возвращает callMempool и вставим это значение в parseMemoryPool
Вуаля :) мы получаем адрес, на который уходит весь эфир с этого контракта 0x7a48a3b91c9402af425210907aa37f1aaea46800 - ТЫК (etherscan)!
Как это все получается?
Функция parseMemoryPool совершает бесполезные махинации, но выполняет главную задачу преобразует строку, возвращаемую из callMempool, в тип адрес, При этом сам адрес уже сформирован в callMempool.
которые при помощи дополнительных функций преобразуются из десятичного в шестнадцатиричный формат
Итог
Мне пришлось потратить пару часов, чтобы разобраться в коде и понять, что меня собираются обмануть. К сожалению, не все это могут. Но вывод один: нельзя смотреть на цифры. Даже 1 300 000 просмотров скрывают обман.
Ссылку на видео добавлю, хотя его рано или поздно удалят - ТЫК
Благодарю тебя за то, что ты дочитал до конца мою первую статью!