If you can .dump it, can you also use .read to restore it? And if so, how damaged does it appear to be?
My databases, with a corrupt index, couldn't be restored directly, but the duplicate entries could be seen, cleaned up, and then the restore succeeded. Or (more conveniently) remove the index creation from the .dump, restore, use queries to find and remove duplicates, then reinstate the index. My thinking is that the kind of corruption I've had should at least be a different error code, and that a pragma to drop the index could allow repair without the extreme of dumping and editing the dump file.