Ты вызываешь смарт контракт, который даёт флэшлоан и говоришь: дай столько денег вот этому адресу, а потом вызови вот такой метод у такого адреса.
Метод флэшлоан запоминает сколько у него было денег в начале, потом даёт займ в дёргает каллбек. В каллбеке ты делаешь то, что тебе надо, например атакуешь fulcrum и возвращаешь долг. В конце flash loan контракт проверяет, что денег у него сколько было в начале плюс процент за использование, если это не так, транзакция откатывается