Весь топик не читал, только первый пост.
Вчера только "вскрывал" чужой код JS'ом (на JS).
Закодирован был XML файл обычным BASE64.
Всё бы было замечательно, если бы не одно маленькое НО. Текст расшифровывался частями верно, а частями крякозабрами (вперемешку). Из-за чего, естественно, DOMParser ругался.
Долго ломал голову в чем проблема. Пробовал разные функции из сети, сервисы.
Думал это из-за UTF16 (в заголовке XML файла объявлено <?xml version="1.0" encoding="utf-16")
Пробовал было искать функцию по конвертации UTF16 в UTF8. Однако оказалось, что это не UTF16.
Потом начал посимвольно (по 4 символа, ведь BASE64) искать на чем рушится и увидел, что там зачесался знак %
![blink.gif](http://phpforum.su/html/emoticons/blink.gif)
. И тут всё стало на свои места - закодированный XML был дополнительно прогнан через URLescape'ом (encode).
Потратил на это дело не 40 минут, а куда больше.