Ukraine says it faked journalist Arkady Babchenko's death after hearing of a Russian plot to kill him.
Kremlin critic Arkady Babchenko, who was reported to have been shot dead on Wednesday, has appeared at a news conference.
Vasily Gritsak, head of the Ukrainian Security Service, told reporters the agency faked Mr Babchenko's death to stop a Russian plan to kill him.
Russia said it was happy that Mr Bachenko was alive after all.
Kiev had said the 41-year-old, a strong critic of Vladimir Putin, was shot multiple times in the back at his apartment building while on his way to buy bread.
They had claimed he was found bleeding by his wife.
But, remarkably, Mr Babchenko showed up at the news conference.
To applause and gasps of surprise, the journalist apologised for what people had been through, and thanked everyone who had been mourning his death.
"I would like to apologise for what you have all had to go through," Mr Babchenko, who looked on the verge of tears at times, told reporters.
"I'm sorry, but there was no other way of doing it."
In particular he said sorry to his wife.
"Separately, I want to apologise to my wife for the hell that she has been through."
He thanked the Ukrainian security service for saving his life and said the operation had been planned for two months.
Mr Gritsak says investigators have identified a Ukrainian citizen who allegedly was paid $40,000 by the Russian security service to organise and carry out the killing.
Ukrainian President Poroshenko has promised to provide protection to Mr Babchenko and his family going forward.
The leader added that Ukrainian authorities are becoming stronger in countering what he termed Russian aggression.
Mr Babchenko, one of Russia's best-known war reporters, spoke and wrote last year about leaving the country because of repeated threats that he and his family would be harmed.
Ukraine had released an image of a man wanted in connection with the killing.
A Ukrainian citizen has been arrested.
Mr Gritsak said his service had received information about a Russian plan to assassinate Mr Babchenko, and had managed to prevent it.
He added that a Ukrainian citizen had been recruited and paid $40,000 (£30,130). That citizen was also apparently asked to buy weapons and ammunition.