Дизассемблер 1С #476482


#0 by AS_DANCE
И всетаки он работает. Попробовал защитить стандартный отчет КЗК (проф) а потом разобрать по запчастям. И ... о чудо, весь отчет выплыл как на ладони, без комментариев естественно, но вполне рабочий код, с объявлением переменных и прочими вкусностями. Выходит что КЗК не такая уж и прочная защита ( как раньше предполагал). В теме про защиту и разбор кода КЗК кажется VDE69 описал именно такой способ снятия защиты, не расшифровка кода непосредственно, а получение его непосредственно перед выполнением.
#1 by Злопчинский
речь идет о КЗК-1?
#2 by IamAlexy
ты кзк2 разобрал?
#3 by AS_DANCE
да КЗК - 2
#4 by Torquader
Нет - а чего ты ожидал ? Если системе передаётся код в неизменном виде, то есть уже расшифрованный, то "поймав" функцию получения кода можно смело получить и сам код. Конечно, код в адаптированном виде потеряет форматирование и логику переходов и условий, но имена функций и имена переменных никуда не денутся. В КЗК-1 код расшифровывается перед интерпретацией, то есть там можно и коментарии увидеть, а в КЗК-2 - уже после интерпретации, но всё равно код любого модуля расшифровывается весь и сразу.
#5 by Злопчинский
имхо трындит.. могу ошибаться конечно.. но.. в кзк2 нет версии проф
#6 by AS_DANCE
про проф - я погорячился - версия 1.0.0.49 КЗК2.Стандарт
#7 by Advan
К вам уже выехали...
#8 by Advan
А если серьезно - нету не взламываемой защиты, есть цена взлома.
#9 by Злопчинский
хм.. в кзк2 декларируется вроде наличие уже только скомпилированного кода... я не спец ни в коем роде в данных вопросах, но из скомпилированного кода исходный код получить вряд ли... или только дизассемблированием... ты действительно дизассемблировал скомпилированный код? . просто интересно...
#10 by AS_DANCE
все началось с просто цена упала ща скрины положу
#11 by Злопчинский
давай, интересно... заодно сообщи каковы трудозатраты и не на отчет который ты знаешь, а на "неизвестный" модуль...?
#12 by Torquader
Он не получит исходный код в том виде, в котором он был, а получит код, который прекрасно компилируется и работает также, как и исходный код - а для взлома защиты именно это и надо.
#13 by Злопчинский
это понятно... ща бы тренирнуть на реально защищенных...
#14 by AS_DANCE
- КЗК - КОД  Декомпилятор я не получил исходный код в полном составе, но код ооочень близкий к исходному.
#15 by Midaw
помоему этим не стоит заниматься. также как и раскрытием всех дырок по протоколам и т.д. ) всё это реально, но всё это дела крайне хреновые. имхо
#16 by AS_DANCE
да я вплотную и не занимаюсь, просто спортивный интерес
#17 by Злопчинский
так в итоге что - взят инструментарий с инфостарта и с его помощью попробована декомпиляция защищенного модуля?
#18 by AS_DANCE
именно так, я и говорю что ветку закрыли, где вопрос подняли можно ли обсуждать, а работает или нет, обсудить не успели (и КЗК не у всех есть) . Вот я и попробовал ...
#19 by Дядя Васька
А что это за зверь по третьей ссылке? Твое, или скомунизжено? Чет не верится что имена всех переменных сохранены, нафик они в скомпилированном коде.
#20 by Дядя Васька
+ пардон, вижу что с инфостарта, но не мешало бы опробовать, нелогично много восстанавливает...
#21 by серый КТУЛХУ
опций компиляции не показал. с дополнительной обработкой откомпилированного кода?
#22 by AS_DANCE
да с дополнительной. сказали прямые ссылки на декомпилятор низя давать, так что в инфостарте глянь )
#23 by Torquader
Имена переменных в коде нужны, чтобы к ним можно было обращаться из контекста исполнения (например, если они в тексте запроса и таблицы). Имена процедур и функций тоже хранятся внутри скомпилированного модуля в исходном виде, а вот порядок вызова операторов может быть немного другой - точнее, там только переходы, которые декомпилятор просто разворачивает в языковые конструкции. Собственно говоря, одно наличие имён переменных уже повышает разбираемость кода, даже если всё остальное будет в виде goto.
#24 by AS_DANCE
а если у тя запрос ошибку выплевывает, он  кажется тебе точно говорит что и где ты не так сделал, или в других ошибках!
#25 by IamAlexy
кому эта 7.7 нужна.. тьфу...
#26 by Злопчинский
в своя время дизассемблированием программ на ассемблере занимались - и то головняк в некоторых моментах был...
#27 by Torquader
На ассемблере сложнее, так как неизвестны имена переменных, а также нужно разбираться с типами данных. Но, опять же, стандартные конструкции языков высокого уровня в коде прекрасно находятся (если, конечно, не сделали оптимизацию).
#28 by серый КТУЛХУ
: в обсуждении декомпилятора - утвержается нечно иное. : отсюда вывод - предварительная обфускация существенно затруднит получение нудного при декомпиляции результата.
#29 by серый КТУЛХУ
: в откомплированном с дополнительной обработкой кода - даст более куцее сообщение об ощибке (даже без имени переменной)
#30 by Злопчинский
а есть нормальные инструменты для обфускации 1Сного кода...???
#31 by серый КТУЛХУ
: угумц.
#32 by Злопчинский
а где взять? e.meil@mail.ru . надо иногда "защитить", кзк - явное излишестов. а кирпичиватели которые пробовал - очень требовательны к описанию всех переменных.. трудности с ними...
#33 by Torquader
Да это можно на "Васике" написать, чтобы все внутренние переменные заменялись на что-то псевдослучайное и лучше с вариантами из русско-латинских букв. Только менять нужно во всём модуле сразу, и не забывать про таблицы и чёрные запросы, где имена переменных указаны явно. Другое дело, что восстановить типы переменных исходя из кода тоже достаточно просто, чтобы было сложнее, нужно при обфускации чётко определять область видимости переменной и использовать одну переменную для двух и более, если у них области видимости не пересекаются.
#34 by серый КТУЛХУ
: впрочем, на той же одинэсине нарисовать тотальную (но имен реквизитов и названий процедур с функциями) обфускацию декомпилированной GComp-ом обработки - не так уж и трудно. (да я как-то искал - натыкался, давно это было уже и не упомню, помню там был даже бесплатный вариант, который имена реквизитов не трогает.. мне гуглить столько же сколько тебе займет, извини)
#35 by серый КТУЛХУ
: в асе есть?
#36 by Злопчинский
нивапрос... все равно это так редко надо бывает, что погоды не делает...
#37 by Злопчинский
есть, но асю в открытую не свечу.. если что - скидывать на мыло e.meil@mail.ru
#38 by Torquader
И такая "защита" иногда даже более предпочтительна - так как начинающие смотрят код - а там чёрт ногу сломит, и понимают, что специалист нужен - без него никак. P.S. я что-то пытался писать, там там все переменные определялись через набор букв "e", которые в сочетании русская-латинская определяли номер переменной. Выглядело прикольно, только я до GCOMP не дошёл, только через буфер обмена работал.
#39 by серый КТУЛХУ
: мыльнул, стукнись в асю.
#40 by Злопчинский
стукнулся, не в сети
#41 by AS_DANCE
я видел декомпиляторы, которые все в одну строку пишут, и переменные переделывают в нечитабельные, но это все исправляется тупо заменой
#42 by ASV
/подписка
#43 by IamAlexy
обфускатор это называется. на инфостарте есть под 8ку
#44 by Aleksey_3
Из комментария на инфостарте Хочу извинится если кого ввел в заблуждение. Я еще раз,уже внимательно, проверил как работает Де компилятор. Программа действительно открывает закодированный код КЗК 2, НО Только заголовки процедур и функций и первые несколько строк из их потом дописывает Так что полной де компиляции еще нет, но уже очень хочется
#45 by АЛьФ
Как интересно :)
#46 by Aleksey_3
Общественность волнуется. Хотелось бы услышать ваши  заявления.
#47 by Злой Бобр
Никто неволнуется. Всем пофигу ибо клиенту всеравно в открытом виде все отдается. А так трясутся только ваятели нетленок.
#48 by АЛьФ
2 А чего заявлять-то? Декомпилятор этот я скачал уже сегодня, глянул. Автор этого топика просто забыл поставить галку дополнительной обработки скомпилированного кода.
#49 by АЛьФ
+ В таком же виде декомпилитор уважаемый еще года два назад написал.
#50 by АЛьФ
И все? Как-то совсем народ задор потерял :(
#51 by Vippi
> Автор этого топика просто забыл поставить галку дополнительной обработки скомпилированного кода. . Судя по , не забыл.
#52 by АЛьФ
2 А судя по именно забыл. Т.к. при установке этой галки операнд 01 (LINE) удаляется.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С