Rescue boats braved choppy waters to pick up dozens of bodies and exhausted survivors on Sunday after an Indonesian ferry sank in the Java Sea, but about 400 people remained missing, officials and state news agency Antara said.

Navy ships, fishing vessels and aircraft scoured a large section of the central Indonesian coastline close to where the Senopati Nusantara capsized around midnight Friday after being pounded by heavy waves for 10 hours.

A helicopter dropped food and water to a group of around 30 survivors in three rafts to keep them alive while boats attempted to reach them, Transport Minister Hatta Radjasa said.

"Pictures from the air showed they were all alive and waving for help," he said.

Survivors recounted the horror of the ship's last minutes, when the crew told passengers, many praying or screaming, to don life vests.

"The waves were so high, and the ship's crew told us not to panic," Bekti Riwayati told Associated Press Television News. "But we were panicked and the ship went down. It took two hours to sink."

Budi Susilo, who survived by grasping an overturned raft, said he saw three people drown after losing their grip. "We told them to hold on, but they ran out of energy," he said.

They said that the vessel shook violently and veered to one side before being swamped by 16-foot waves, and that passengers scuffled for life preservers as the lights went out.

By late Sunday afternoon authorities had found 177 survivors, either clinging to pieces of wood, packed into life rafts or on beaches after swimming ashore, Antara quoted transport department official Soeharto as saying.

Radjasa said at least 157 survivors had been found. It was not immediately possible to explain the discrepancy, though Indonesian government agencies and officials often give differing death tolls during disasters due to poor communication and coordination.

Ships also recovered at least 66 bodies, said Soeharto, who goes by one name like many Indonesians. More than 400 people were still missing.

The ferry is believed to have had 638 people on board, Radjasa said earlier.

Witnesses reported seeing lifeboats with more survivors, and said most people had donned life jackets. Indonesia's tropical waters are generally 72-84 degrees Fahrenheit and people have been known to survive days at sea.

"I don't want to speculate on how long people can survive floating on the sea. We only hope they can survive," said Karolus Sangaji, a search and rescue worker.

Dozens of relatives were gathered at Semarang seaport, desperate for news of loved ones.

Neneng, a 35-year-old housewife, stood weeping on a street corner.

"I'm worried about my husband. There has been no word if he is safe or not," she said. "I'll wait here until I get confirmation."

Four naval ships, police boats and commercial vessels, along with three helicopters, have been combing the area where the ship last had radio contact with port authorities.

Officials said the car ferry, built in Japan in 1990, had a capacity of 850 passengers and was in good condition. They said bad weather likely caused the accident.

The ship ran into trouble 24 miles off Mandalika island, about 190 miles northeast of the capital, Jakarta, while en route to Semarang in Central Java province.

Ferries are a main mode of transportation in Indonesia, a vast archipelago of more than 17,000 islands with a population of 220 million. Accidents are common due to overcrowding and poorly enforced safety regulations.

In 2000, almost 500 people died when a ferry carrying Christians fleeing religious violence in the eastern Maluku islands capsized. A year later, 350 were killed when a boat carrying asylum seekers from Iraq and Afghanistan sank after setting sail from Java to Australia.