Ukrainian President Volodymyr Zelensky has accused European countries that continue to buy Russian oil of "earning their money in other people's blood".
In an interview, Zelensky singled out Germany and Hungary, accusing them of blocking efforts to embargo energy sales, from which Russia stands to make up to £250bn ($326bn) this year, reports BBC.
There has been growing frustration among Ukraine's leadership with Berlin, which has backed some sanctions against Russia but so far resisted calls to back tougher action on oil sales.
"Some of our friends and partners understand that it is a different time now, that it is no longer an issue of business and money," Zelensky said from his situation room in Kyiv on Thursday. "That it is an issue of survival."
The president also reiterated calls for more weapons to be supplied to Ukraine, saying they were not getting supplies fast enough to fend off Russia's assault.
"The United States, the United Kingdom, some European countries - they are trying to help and are helping," he said. "But still we need it sooner, sooner and faster. The keyword is now."
Russian troops have in recent weeks pulled back from around Ukraine's capital, Kyiv, and other central and northern parts of the country - apparently abandoning an attempt to seize all of Ukraine by force.
But there are fears now of a bloody and protracted conflict in the east and south of the country, as Russian President Vladimir Putin refocuses his military campaign there in an effort to seize more territory.
The southern port city of Mariupol - a strategic goal for President Putin - has already been devastated by weeks of Russian artillery bombardment.
Zelensky told the BBC he thought tens of thousands may have been killed in the city.
"We also have information that as well as those tens of thousands of dead, many have disappeared," he said. "We know their documents have been replaced, they were given Russian passports and taken deep into Russia - some to camps, some to other cities. No one knows what is happening to those people. No one knows how many have been killed."
Zelensky said the atrocities apparently committed by Russian troops in Mariupol, and in the Kyiv suburbs of Bucha and Borodyanka, had further narrowed the possibility of peace talks with the Russians.
Hundreds of deaths have been found in Bucha since it was taken back by Ukrainian forces a little over a week ago, including civilians who were found shot in the head with their hands tied behind their backs, as well as widespread reports of sexual violence.
"Bucha is in the process of closing [the possibilities of peace talks]," President Zelensky said. "It's not about me - it's about Russia. They will not have many more chances to speak with us."
He said he had "experienced the entire spectrum of emotions" when he visited Bucha last week, but ended the day with "nothing but hatred towards the Russian military". He accused President Putin and the rest of the Russian army "from top to bottom" of being "war criminals".
Zelensky defended his leadership in the run-up to the Russian invasion that began in February when his government urged the Ukrainian people to remain calm.
He said the government had been working in the background to agree on deals for weapons and supplies, as well as focusing on avoiding panic that could trigger a run on the banks and destabilise Ukraine's economy.
"That was what Russia - and not just Russia - wanted, but we didn't let that happen," he said. "But we did not expect the full-scale invasion when it happened."
Ukraine is now facing a renewed attack in the east and south as Russia attempts to carve off more territory, following its 2014 annexation of Crimea.
Zelensky said the east now represented the "most difficult situation" for Ukraine's armed forces, "but this is where our most powerful units are concentrated".
"They can destroy us, but we will answer; they can kill but they will also die," he said. "I can't understand for what - I can't understand why they came."