Читает текстовые экспорты
read_file и grep открывают листинги, вывод strings и текст декомпилятора, которые вы сохранили в рабочей папке.
Первые нужные навыки — чтение ассемблера, слежение за стеком и аккуратные заметки. CJK Workbench читает текст, который экспортируют ваши собственные инструменты, объясняет его строка за строкой, ведёт заметки в файлах и через Shell запускает небольшие скрипты на Python. Сам он программы не дизассемблирует и не запускает.
read_file и grep открывают листинги, вывод strings и текст декомпилятора, которые вы сохранили в рабочей папке.
write_file и edit_file поддерживают файл заметок с функциями и открытыми вопросами, и каждое изменение появляется как diff.
Скрипты на Python, которые читают заголовок файла или выводят список строк, запускаются через Shell на копиях ваших файлов.
Типичный сеанс считает хеш копии файла, читает листинг, ищет вызовы и сохраняет заметки в вашей рабочей папке. Каждая карточка разворачивается. Она показывает настоящий результат команды или diff файла.
certutil -hashfile add.exe SHA256exit 0exports/add.lstтекст прочитанcall exports/add.lst3 совпаденияnotes/add.mdсохраненоnotes/add.md+6 строкnotes2 файлаРеверс-инжиниринг неизвестного алгоритма контрольной суммы в вашей собственной старой программе начинается с её экспортированного листинга. Начните в Plan only, где агент записывает шаги и ничего не запускает. Затем смените режим, пусть grep найдёт цикл в листинге, а read_file откроет строки вокруг него. Агент объясняет, что каждая инструкция делает с накапливаемой суммой, а write_file сохраняет объяснение в notes/checksum.md. Планы переживают перезапуски. Процедура, которая складывает байты, в ассемблере выглядит иначе, чем та, что вращает биты, и заметки фиксируют, какую из них вы нашли. Сравните заметки с исходным кодом, проведите собственный тест и принимайте diff только тогда, когда оба совпадают.
Программирование в практике реверсинга — это небольшие скрипты вокруг анализа, и тот, кто хочет расти в анализе вредоносных программ, скоро пишет несколько таких. Опишите файл, который хотите прочитать, например PE-заголовок программы, которую вы собрали сами, и агент напишет header.py через write_file. Shell запустит вашу команду Python на копии и сообщит настоящий код возврата. Сначала проверьте скрипт. Прочитайте его в diff и убедитесь, что он только читает байты из копии и не запускает её. Если команда завершится ошибкой, агент прочитает её, а edit_file покажет исправление как diff. Запустите скрипт на второй копии и сохраните вывод в заметках.
CJK Workbench — приложение для Windows. Это не облачный сервис и не плагин для другой программы, и оно предназначено только для файлов, которые принадлежат вам, файлов, которые вы вправе анализировать, и учебного материала, на вашем собственном ПК. Само оно не дизассемблирует, не декомпилирует и не запускает программы, и ни один ответ не сопровождается обещанием правильности, поэтому проверяйте и тестируйте.