Сейчас на форуме: _MBK_, Magister Yoda (+5 невидимых)

 eXeL@B —› Основной форум —› Чем декомпилить TclPro ByteCode
Посл.ответ Сообщение

Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 19 декабря 2009 20:23 · Поправил: GodFather
· Личное сообщение · #1

САБЖ.
В программе присутствуют строки

; DATA XREF: sub_8087854+3Eo
.data:083D6BC0 db '###',0Ah
.data:083D6BC0 db '#',0Ah
.data:083D6BC0 db '# workspace.tcl',0Ah
.data:083D6BC0 db '#',0Ah
.data:083D6BC0 db '# Handles application workspace, along with workspace template'
.data:083D6BC0 db '.',0Ah
.data:083D6BC0 db '# Definitions:',0Ah
.data:083D6BC0 db '# - workspace: groups different inputs of an application into '
.data:083D6BC0 db 'a',0Ah
.data:083D6BC0 db '# single text file, each input being uniquely ide'
.data:083D6BC0 db 'ntified',0Ah
.data:083D6BC0 db '# by a ',27h,'keyword',27h,0Ah
.data:083D6BC0 db '# - template: a Tcl source file storing information about the'
.data:083D6BC0 db ' workspace',0Ah
.data:083D6BC0 db '# of a group of applications of the same nature; '
.data:083D6BC0 db 'the template ',0Ah
.data:083D6BC0 db '# file is used to exchange and unserstand workspa'
.data:083D6BC0 db 'ces, as',0Ah
.data:083D6BC0 db '# well as building standard workspace editing GUI'
.data:083D6BC0 db 27h,'s.',0Ah
.data:083D6BC0 db '#',0Ah
.data:083D6BC0 db '# $Id: workspace.tcl,v 1.12 2002/06/18 10:39:00 clemenco Exp $'
.data:083D6BC0 db 0Ah
.data:083D6BC0 db '#',0Ah
.data:083D6BC0 db '# Created by Yves Demierre, Wed May 02 18:40:45 2001',0Ah
.data:083D6BC0 db '#################################################################'
.data:083D6BC0 db '####',0Ah
.data:083D6BC0 db '# TclPro::Compiler::Include',0Ah
.data:083D6BC0 db 0Ah
.data:083D6BC0 db 'if {[catch {package require tbcload 1.4} err] == 1} {',0Ah
.data:083D6BC0 db ' error "The TclPro ByteCode Loader is not available or does no'
.data:083D6BC0 db 't support the correct version"',0Ah
.data:083D6BC0 db '}',0Ah
.data:083D6BC0 db 'tbcload::bceval {',0Ah
.data:083D6BC0 db 'TclPro ByteCode

значит это tcl-скомпиленный байт код, чем его можно декомпилировать?



Ранг: 32.5 (посетитель), 3thx
Активность: 0.030
Статус: Участник

Создано: 19 декабря 2009 21:09
· Личное сообщение · #2

Текстовым редактором




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 декабря 2009 21:15
· Личное сообщение · #3

дизассемблером под ту архитектуру под которой работает скомпиленый скрипт
там наверное обычный zip со стабом для запуска как выполняемый файл



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 19 декабря 2009 21:46
· Личное сообщение · #4

Там не зип
.data:083D6440 asc_83D6440 db '#################################################################'
.data:083D6440 ; DATA XREF: sub_8087854+46o
.data:083D6440 db '###',0Ah
.data:083D6440 db '#',0Ah
.data:083D6440 db '# glog.tcl',0Ah
.data:083D6440 db '#',0Ah
.data:083D6440 db '# Message logging facility.',0Ah
.data:083D6440 db '#',0Ah
.data:083D6440 db '# $Id: glog.tcl,v 1.3 2002/06/18 15:08:18 clemenco Exp $',0Ah
.data:083D6440 db '# Christian Clemencon, Thu Apr 4 13:03:24 MET DST 2002',0Ah
.data:083D6440 db '#################################################################'
.data:083D6440 db '####',0Ah
.data:083D6440 db '# TclPro::Compiler::Include',0Ah
.data:083D6440 db 0Ah
.data:083D6440 db 'if {[catch {package require tbcload 1.4} err] == 1} {',0Ah
.data:083D6440 db ' error "The TclPro ByteCode Loader is not available or does no'
.data:083D6440 db 't support the correct version"',0Ah
.data:083D6440 db '}',0Ah
.data:083D6440 db 'tbcload::bceval {',0Ah
.data:083D6440 db 'TclPro ByteCode 2 0 1.4 8.4',0Ah
.data:083D6440 db '3 0 33 12 0 0 36 0 4 3 3 -1 -1',0Ah
.data:083D6440 db '33',0Ah
.data:083D6440 db 'w0E<!(H&s!/HW<!3Ki<!5/Ypv4>UNw4;tl#62o9vz',0Ah
.data:083D6440 db '3',0Ah
.data:083D6440 db '7/0v',0Ah
.data:083D6440 db '3',0Ah
.data:083D6440 db 'A)',27h,'v',0Ah
.data:083D6440 db '12',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '9',0Ah
.data:083D6440 db 'njkSAt=sp@1v',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db 'uKhgC',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db '!U_5B',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '123',0Ah
.data:083D6440 db '6dV<+JA-wE1>fC+!U_5B&B9`FOBxQH4o.6B7|DkBmX|;@2%,!F4f1`Fxr<3I6dV<+'
.data:083D6440 db 'OmV<+c)',0Ah
.data:083D6440 db 'y,Ev0B(F7!G<F5d/S/-O..D,ZFID-APQB;Hp',27h,'DCfC=+:<ylB64G<F8APQBvQJk'
.data:083D6440 db 'B6btD+/Kxh',0Ah
.data:083D6440 db 'Cn<..Db)(v',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db ',CHr@',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '10',0Ah
.data:083D6440 db '!U_5Bx+kyF^(%',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '19',0Ah
.data:083D6440 db '4o.6B7|DkBmX|;@6H:s+6yHw',0Ah
.data:083D6440 db 'p',0Ah
.data:083D6440 db '14 0 126 17 1 0 64 1 5 14 14 -1 -1',0Ah
.data:083D6440 db '126',0Ah
.data:083D6440 db 'w0E<!-BW<!(?W<!n2_Q5x)|Tv2o&v!0|8X!Or=6#0NE<!1>77w1l&v!jaL!+4i=6#'
.data:083D6440 db '%4@27z:',0Ah
.data:083D6440 db 'G#Y!7?W<!C%:-89Ta<!6oA=!(N#8-b1<1%1uS=!>,f=!>u+pv<1`H&8k2-&9&#t!%'
.data:083D6440 db 'SE)!)c+',0Ah
.data:083D6440 db 'pvKSa<!(!!',0Ah
.data:083D6440 db '14',0Ah
.data:083D6440 db '3DLNwKh1VvBl8X!2-!',0Ah
.data:083D6440 db '14',0Ah
.data:083D6440 db 'TO%4wl+hqvu(upv9<!',0Ah
.data:083D6440 db '17',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '6',0Ah
.data:083D6440 db 'q',27h,'-W@Dhw',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'ms9Z?gp><@',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db 'wm<eD',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '6',0Ah
.data:083D6440 db '1lo(F^(%',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '18',0Ah
.data:083D6440 db 'ms9Z?gp><@RXfTA.NP)FZHv',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '6',0Ah
.data:083D6440 db '&B9`F^(%',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db 'dU5D+',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '0',0Ah
.data:083D6440 db 0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '6',0Ah
.data:083D6440 db '2s*eD`+%',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'n:=Y?m',27h,'cSA',0Ah
.data:083D6440 db 'i',0Ah
.data:083D6440 db '0',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '4',0Ah
.data:083D6440 db 'njkSA',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '1',0Ah
.data:083D6440 db 'A!',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '16',0Ah
.data:083D6440 db 'vLhgCKclaD,wBCFK?VTA',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '5',0Ah
.data:083D6440 db 'n0Hr@7v',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '7',0Ah
.data:083D6440 db 'v@!eDgx;-',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '22',0Ah
.data:083D6440 db '0u(yG',27h,'LxhC<&qr5+dmIDTd;JDO(%',0Ah
.data:083D6440 db '1',0Ah
.data:083D6440 db 'C 1 60 6 -1 -1 71',0Ah
.data:083D6440 db '0',0Ah
.data:083D6440 db '2 4',0Ah
.data:083D6440 db '3',0Ah
.data:083D6440 db 'i@w,',0Ah
.data:083D6440 db '0 0 257',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'm',27h,'cSAnjkSA',0Ah
.data:083D6440 db '1 1 257',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '0',0Ah
.data:083D6440 db 0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'ms9Z?gp><@',0Ah
.data:083D6440 db '2 0 8',0Ah
.data:083D6440 db '9',0Ah
.data:083D6440 db 27h,'.lSA-O..D<v',0Ah
.data:083D6440 db '3 0 9',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '13',0Ah
.data:083D6440 db '!U_5BE6UdC!W(`F<v',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '15',0Ah
.data:083D6440 db '7|DkBmX|;@6H:s+6yHw',0Ah
.data:083D6440 db 'p',0Ah
.data:083D6440 db '8 0 87 9 2 0 32 1 4 8 8 -1 -1',0Ah
.data:083D6440 db '87',0Ah
.data:083D6440 db 'w0E<!6>L3wQqPH/MY@(!v*<<!C=NH&)TA9v*V!S7JE`W!/H<<!&fbsvLsm<vQJO3-'
.data:083D6440 db '4Qr<!8u',0Ah
.data:083D6440 db 'nov4I(+(f!!!!5Yw4w,Z/s!KjR!v+<p<vw',27h,'!!',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db '48>UvSkbUv',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db '^shqvr1hqv',0Ah
.data:083D6440 db '9',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '6',0Ah
.data:083D6440 db 'q',27h,'-W@Dhw',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'ms9Z?gp><@',0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '0',0Ah
.data:083D6440 db 0Ah
.data:083D6440 db 'x',0Ah
.data:083D6440 db '8',0Ah
.data:083D6440 db 'n:=Y?m




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 декабря 2009 22:06
· Личное сообщение · #5

я условно сказал "zip"
скажу так
какойто стаб который анпакает и пускает дальше tcl
а то что вы показываете это уже внутри tcl битстрим
который разбирает сам tcl



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 19 декабря 2009 22:13
· Личное сообщение · #6

а вообще есть анализаторы, распаковщики байт-кода есть или эта весьма специфическая сфера,
с которой мало народа работает?
Прога - линуховский elf, около 10 Мб. Как мне стаб найти? Как он выглядит?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 19 декабря 2009 22:44
· Личное сообщение · #7

IDA Pro
грузите в нее и изучаете



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 21 декабря 2009 08:39
· Личное сообщение · #8

Дык это по-твоему откуда листинг?



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 21 декабря 2009 12:38 · Поправил: Модератор
· Личное сообщение · #9

Видимо нужен декомпилятор для TclPro. Добавлю пожалуй в уже и так километровый TODO лист декомпиляторов.

GodFather пишет:
Дык это по-твоему откуда листинг?

Ну ВМ же, очевидно. Изучайте хендлеры обработки байткода и будет вам счастье.

UPD
На одном форуме советуют взять implementing ::tcl_traceCompile и на основе этой функции можно уже делать декомпилятор.


 eXeL@B —› Основной форум —› Чем декомпилить TclPro ByteCode
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати