В случае Андроида это делается с помощью техник реверс-инжиниринга: распаковка, декомпиляция кода и деобфускация. Самый сложный этап - последний. Ни один инструмент не может полноценно сделать деобфускацию, если код грамотно запутан.
В случае веб-страниц, то как правильно сказали, исходный код ты не видишь, а видишь только результат работы сервера и JS-код, в котором тоже может быть клиентской логики