Декомпилятор COS

Memo
Дата: 28.03.2005 12:19:40
Декомпилятор COS (Cache Object Script): позволяет восстанавливать исходные тексты программ (.int), представленных в объектных кодах (.obj) в Cache 5.x. Пока что, только приблизительно... . Ниже, для примера, приводится "слегка приглаженная вручную" небольшая часть текста системной утилиты %R, занимающейся "обслуживанием" программ, могу дать и полный текст.
.............
ROUTINE(rou,array,err,options,langmode,filedate,nsp)
n (rou,array,err,options,langmode,filedate,nsp)
s $zt="rouErr^%R"
s (err,status,nspOrig,glonspOrig,rtnnspOrig)="",result=1
s options=$zcvt($g(options,"CS"),"u")
i $e(rou)="%" d q:result=0 0
. q:options["I"
. s ns=$zu(5),char=$a($e(rou,2))
. i char>64,char<91,ns="%SYS" q
. i char=122,ns="%SYS" q
. i char>96,char<122,ns="%CACHELIB" q
. s ns1=$zcvt($p($$getdest^%GXLINF1(ns,"ROUTINE"),"^",2),"u")
. s ns=$p($$getdest^%GXLINF1(ns,"ROUTINE","("""_$$ParseRoutineName(rou)_""")"),"^",2,99)
. i $zcvt(ns,"u")=ns1 q
. q:$tr(options,"SC")=options
. s result=0,err=$lb($lb(0,0,0,0,rou_" : Error : <PROTECT> : "_ns_" must be your default DB"))
i $g(nsp)]"" d q:result=0 0
. s nsp=$zcvt(nsp,"u")
. i $e(nsp)="""" s nsp=$p(nsp,"""",2)
. s nspOrig=$zu(5)
. s rtnnspOrig=$zu(20)
. s glonspOrig=$zu(39)
. i options["I" d $zu(5,nsp) q
. i nsp="%SYS",'(nspOrig="%SYS") d q
. . s result=0,err=$lb($lb(0,0,0,0,rou_" : Error : <PROTECT>"))
. i nsp="%CACHELIB",'(nspOrig="%CACHELIB") d q
. . s result=0,err=$lb($lb(0,0,0,0,rou_" : Error : <PROTECT>"))
. d $zu(5,nsp)
s rtn=$$ParseRoutineName(rou)
s type=$$rtype(rou,options)
s ver=$$VERSION(rou,$g(nsp))
s glo=$$rglobal(type,ver)
i options["S",'$$LOCK(rou) q "0^,LOCKED,"
s ccEnabled=$zj\4#2
b 0
s zs=$zu(163,16*1024)
d rouProc
i options["S" s x=$$UNLOCK(rou)
s zs=$zu(163,zs)
b $g(ccEnabled,1)
i nspOrig]"" d $zu(5,nspOrig)
i rtnnspOrig]"" d $zu(20,rtnnspOrig)
i glonspOrig]"" d $zu(39,glonspOrig)
q result_"^"_status_","
.............

Интересует? :-)
Алимов Игорь
Дата: 29.03.2005 09:56:41
Интересует. Я помню декомпилятор был встроен в %iMC, это хорошо помогало когда надо было разобратся как работает та или иная системная утилита. Если есть затруднения в опубликовании декомпилятора в текущем форуме, шлите на igoral собака mail.ru

С уважением, Алимов Игорь.
MX-ALEX
Дата: 29.03.2005 11:19:06
Интересует.
как заполучить ?

С уважением, Алексей.
kosinec@metalurgs.lv
Memo
Дата: 01.04.2005 06:20:49
Декомпилятор находится пока что в состоянии пре-альфа. Он еще не все
"умеет понимать", нет документации, и т.д. Передавать в таком состоянии
его кому бы то ни было - будет больше проблем, чем дела...

Мне хотелось просто понять, нужно это кому-нибудь, кроме меня, или нет.
Если нужно - буду пытаться привести его к нормальному "товарному" виду.
elakt
Дата: 19.04.2005 08:22:50
Проект интересный. Когда можно ожидать хотя бы beta-версию?
Memo
Дата: 06.06.2005 17:18:20
elakt
Проект интересный. Когда можно ожидать хотя бы beta-версию?

Даже не знаю... совершенно нет времени этим заниматься. Может кто-нибудь еще поучаствует, продвинет это все дальше?

В прикрепленном файле - все, что есть на текущий момент.
elakt
Дата: 07.06.2005 08:07:49
Memo
В прикрепленном файле - все, что есть на текущий момент.

Благодарю, очень интересно.