![]() |
Декомпиляция TCL Byte Code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ | В даной статье я покажу, как можно получить исходный програмный код из TCL Byte Code (TBC) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ Конечно весь исходник мы не получим, но часть зашифрованого кода всётаки можно декодировать ;) И так поехали: 1. Создаём файлик tbc2tcl.tcl со следущим содержанием: Код:
set write_sources [open "tcl_sources_code.txt" a+]Код:
if {[catch {package require tbcload 1.4} err] == 1} {Код:
134. Далее ищем в закоденом файле куски закоденого кода следущего вида: Код:
X13 y0NaEomK;@SAIX?+v 6. Далее запускаем tbc2tcl.tbc и после завершения должен создаться файл tcl_sources_code.txt с декодированым кодом куска которого мы заменили ;) Вот такой вот простой метод декодирования TCL Byte Code :) ----------------- C Уважением TwEaKeR |
Артём, огромное спасибо, как раз искал :)
Очень полезно для редактирования демона в чате Бородина) А не мог бы ты дать ссылочку на НЕ Trial версию ActiveState Tcl Dev Kit v3.2? Спасибо. |
Цитата:
|
ммм... Ловко =))
но есть один минус... При попытке изменить хоть один символ в прочитанном таким образом и вкомпилированном обратно коде - бородинский демон не стартует, доходит только до определения кодировки (видно по выводимым в консоли сообщениям) и встаёт. Похоже, где-то в коде проверяется контрольная сумма или что-то в этом роде. Не подскажете, как это побороть ? =)) |
Upd: конечно, подразумевается "смена хоть одного символа" в чисто текстовых значениях-константах, например в выводимых во фрейм сообщений проверочных скриптах или при смене даты/версии демона.
|
| Время: 21:04 |