Esta pergunta foi feita aqui antes: link .
De qualquer forma, você não pode recuperar seu código original, ou citar Carlos Gutiérrez: " Você pode fazer hambúrgueres com uma vaca, mas você não pode fazer uma vaca com hambúrgueres ".
Um arquivo * .so é um objeto compartilhado compilado (aproximadamente equivalente a uma dll no Windows). Ele contém todas as informações para uma função em um idioma que a máquina entende. Esta não é necessariamente a mesma linguagem em que está escrito - Se o original não foi puro assembly, quase certamente não é a mesma linguagem. Portanto, embora seja possível recuperar informações suficientes para produzir uma função que faça a mesma coisa, não é possível voltar ao código-fonte original.