Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   Декомпиляция TCL Byte Code (https://forum.antichat.xyz/showthread.php?t=59136)

TweakeR 19.01.2008 00:55

Декомпиляция TCL Byte Code
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
| В даной статье я покажу, как можно получить исходный програмный код из TCL Byte Code (TBC) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~

Конечно весь исходник мы не получим, но часть зашифрованого кода всётаки можно декодировать ;)


И так поехали:

1. Создаём файлик tbc2tcl.tcl со следущим содержанием:

Код:

set write_sources [open "tcl_sources_code.txt" a+]
puts $write_sources "___replace___"

2. Комплимим tbc2tcl.tcl при помощью ActiveState Tcl Dev Kit 3.2 и в результате создастся откомпилиный tbc2tcl.tbc следущего содержания:

Код:

if {[catch {package require tbcload 1.4} err] == 1} {
    return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
}
tbcload::bceval {
TclPro ByteCode 2 0 1.4 8.4
3 0 22 6 0 0 12 0 4 3 3 -1 -1
22
w0E<!(H&s!@btt!'3*!!9#Gpvw!!
3
-c&v
3
>or!
6
x
13
>c5DFs8|fD'bfRA?v
x
4
*dmID
x
20
o4jY?A;lcEgdTZ?h^oRAxmhEF
x
2
XNv
x
4
DP)*F
x
13
y0NaEomK;@SAIX?+v
0
0
}

3. Находим в этом файле код:

Код:

13
y0NaEomK;@SAIX?+v

Это является закоденое значение "___replace___", которое должно записываться в tcl_sources_code.txt.

4. Далее ищем в закоденом файле куски закоденого кода следущего вида:
Код:

X
число
код
X

5. Далее копируем (число) и (код), тоесть от X до X в файл tbc2tcl.tbc за место:
13
y0NaEomK;@SAIX?+v


6. Далее запускаем tbc2tcl.tbc и после завершения должен создаться файл tcl_sources_code.txt с декодированым кодом куска которого мы заменили ;)

Вот такой вот простой метод декодирования TCL Byte Code :)
-----------------
C Уважением TwEaKeR

bomfunkY 19.01.2008 21:03

Артём, огромное спасибо, как раз искал :)
Очень полезно для редактирования демона в чате Бородина)
А не мог бы ты дать ссылочку на НЕ Trial версию ActiveState Tcl Dev Kit v3.2?
Спасибо.

TweakeR 21.01.2008 17:28

Цитата:

Сообщение от bomfunkY
Артём, огромное спасибо, как раз искал :)
Очень полезно для редактирования демона в чате Бородина)
А не мог бы ты дать ссылочку на НЕ Trial версию ActiveState Tcl Dev Kit v3.2?
Спасибо.

для этого есть keygen ;)

Emergency 20.03.2008 22:53

ммм... Ловко =))
но есть один минус... При попытке изменить хоть один символ в прочитанном таким образом и вкомпилированном обратно коде - бородинский демон не стартует, доходит только до определения кодировки (видно по выводимым в консоли сообщениям) и встаёт.
Похоже, где-то в коде проверяется контрольная сумма или что-то в этом роде. Не подскажете, как это побороть ? =))

Emergency 20.03.2008 22:57

Upd: конечно, подразумевается "смена хоть одного символа" в чисто текстовых значениях-константах, например в выводимых во фрейм сообщений проверочных скриптах или при смене даты/версии демона.


Время: 21:03