Если бэкапов нет, а лечить надо, то рецепт примерно такой:
- Берем чистую CMS той же версии и делаем diff. будут отличаться все файлы из-за этого кода.
- Анализируем изменения, внесенные вирусом во все файлы. Скорее всего, их можно поправить простым скриптом на php - правим, и стараемся привести файлы к изначальному виду.
Далее делаем diff с чистой CMS (в режиме ignore whitespace если изменения показывают кучу пробелов из-за неточного лечения) и решаем что делать с оставшимися "несинхронизированными" файлами: чистить ручками или писать скрипт или ещё что.
- не забываем проверить базу. там тоже могло остаться много интересного
- когда всё очищено - делаем бэкап, обновляем всё, снова делаем бэкап.