![]() |
![]() |
![]() |
|
Демонстрация декомпилляции модулей | ☑ | ||
---|---|---|---|---|
0
MMF
27.11.06
✎
11:53
|
||||
1
MMF
27.11.06
✎
11:57
|
Представляет собой плагин к TC. Показывает модуль, закрытый паролем или поставленный без исходных текстов. Модуль восстанавливает не полностью, это скорее демонстрации дырявости системы защиты. Не обрабатываются опкоды передачи управления (Если, Цикл) и некоторые редкие опкоды (арктангенсы и т.п.). Оптимизацией не занимался, на больших модулях может надолго задуматься
|
|||
2
MMF
27.11.06
✎
11:58
|
В дереве модулей слева нужно выбрать "IMAGE" - это образ скомпиллированного модуля.
На вопросы, если таковые будут, отвечу через час. |
|||
3
Морозов Александр
27.11.06
✎
12:04
|
типа первый камень брошен!
|
|||
4
MMF
27.11.06
✎
12:58
|
Фига се... сколько вопросов написали. А ведь в форуме куча вопросов "как посмотреть запароленую обработку v8", "Надежна ли поставка без текстов модулей".
Собственно восстановление текста модуля - побочный продукт, меня интересовал вопрос быстродействия виртуальной машины 8-ки. Интерпретатор сделан примитивно, IMHO, существует значительный запас оптимизации. По результатам профилирования VM будет принято решение о целесообразности работы в этом направлении. |
|||
5
angro
27.11.06
✎
13:08
|
EurekaLog 4.5.4
Application: ---------------------------------------------------------------------------------------------------------- 1.1 Start Date : Mon, 27 Nov 2006 13:06:25 +0300 1.2 Name/Description: Total Commander 32 bit international version, file manager replacement for Windows 1.3 Version Number : 6.5.3.0 1.4 Parameters : Exception: --------------------------------------------------- 2.1 Date : Mon, 27 Nov 2006 13:07:09 +0300 2.2 Address: 010F000C 2.3 Module : cfviewer.wlx 2.4 Type : Exception 2.5 Message: Попытка вытолкнуть из пустого стека. Active Controls: ----------------------------------------------------------------------------------------------------------------- 3.1 Form Class : MozillaUIWindowClass 3.2 Control Class: TJvTreeView 3.3 Control Text : Computer: ----------------------------- 4.3 Total Memory: 1022 Mb 4.4 Free Memory : 612 Mb 4.5 Total Disk : 19,53 Gb 4.6 Free Disk : 14,06 Gb Operating System: ------------------------------------ 5.1 Type : Microsoft Windows XP 5.2 Build # : 2600 5.3 Update : Service Pack 2 5.4 Language: Русский |
|||
6
Херрес
27.11.06
✎
13:09
|
(0) смотри, посодют
|
|||
7
MMF
27.11.06
✎
13:10
|
(5) пришли, пжалста, epf, на котором глюкнул, на mmf@newmail.ru
|
|||
8
angro
27.11.06
✎
13:13
|
||||
9
MMF
27.11.06
✎
13:15
|
(6) я же никаких изменений в файлы 1С не вношу. Слабая защита модулей - их проблема и неудобства для тех, кто в ее стойкость поверил
|
|||
10
Мелкий бес
27.11.06
✎
13:17
|
(0) есть решения в которых нужна легкая степень защиты - раньше обходился поставкой без текста. теперь придется ключи ставить
удружил !!! |
|||
11
MMF
27.11.06
✎
13:20
|
(10) шила в мешке не утаишь.
|
|||
12
TormozIT
гуру
27.11.06
✎
13:23
|
Молодец, MMF!
|
|||
13
Херрес
27.11.06
✎
13:24
|
(9) дык это... те кто эмуляторы ключей писали - тоже изменений не вносили
(10) поддерживаю. Серьёзные производители софта будут терять большие деньги. |
|||
14
orefkov
27.11.06
✎
13:31
|
(0)
Инфа об именах методов/переменных видна? |
|||
15
MMF
27.11.06
✎
13:33
|
(13) ну ладно, если кто-нить еще скажет, чтобы я не выкладывал рабочий вариант, - не буду. Текущий просто показывает, что в принципе, это не защита. Примерно четверть опкодов при анализе просто пропускается и текст модуля в итоге не рабочий.
|
|||
16
wicked
27.11.06
✎
13:34
|
у меня как и у (5) :((((
а так хотелось модуль взглянуть... |
|||
17
MMF
27.11.06
✎
13:35
|
(14) да
|
|||
18
orefkov
27.11.06
✎
13:35
|
(15)
А что по твоему защита? |
|||
19
orefkov
27.11.06
✎
13:36
|
(17)
Вплоть до локальных переменных, или только после точки? |
|||
20
coder1c80
27.11.06
✎
13:37
|
(17) и я чего-то модуль не вижу... модуль формы тока...
|
|||
21
Мелкий бес
27.11.06
✎
13:38
|
это как ящик пандоры, который лучше не открывать, хотя и очень хочется.
зачем автору печальная известность? поэтому не выкладывать рабочий вариант самое разумное решение |
|||
22
MMF
27.11.06
✎
13:40
|
(18) Мне кажется, если бы они применили хотя бы простенький оптимизатор байт-кода, фиг бы скомпиленные результаты кто-нить восстановил. И результат был бы не таким тормозным.
|
|||
23
MMF
27.11.06
✎
13:44
|
(19) за исключением комментариев восстанавливается абсолютно весь текст, причем даже с соответствием номерам строк исходного. Если доделать :-)
|
|||
24
Bahmet
27.11.06
✎
13:50
|
(23)ты уже более получаса висишь тут....значит тя уже вычислили....еще не слышишь вой сирен?Беги Вова,беги!
|
|||
25
Bahmet
27.11.06
✎
13:50
|
(23)ты уже более получаса висишь тут....значит тя уже вычислили....еще не слышишь вой сирен?Беги Вово,беги!
|
|||
26
coder1c80
27.11.06
✎
13:55
|
(23) Чё толку не рабочую версию выкладывать? На двух обработках проверил, и там, и там ошибки выкидывает...
|
|||
27
TormozIT
гуру
27.11.06
✎
13:59
|
orefkov, с помощью MMF ты бы мог уже начать ковырять 8-ку, что думаешь?
|
|||
28
orefkov
27.11.06
✎
13:59
|
(23) Ну, в-принципе, из-за наличия такого метода, как "Выполнить", этого и следовало ожидать.
|
|||
29
orefkov
27.11.06
✎
14:02
|
(27)
Слаб я для таких вещей. Страшно мало мое умение дизассемблить код. |
|||
30
у лю 427
27.11.06
✎
14:12
|
Молодец ММФ... хАрАшо уел кодеров от 1С... особливо насчет оптимизации...
(13) "Серьёзные производители софта будут терять большие деньги." Они их и так потеряют - зато теперь они будут знать, где... Я думаю, повторить путь ММФа для грамотных - пара пустяков, зато производители информированы... (10) "теперь придется ключи ставить" ты, эта, гавари, какие конфы защищаешь... Я клиентов предупреждать буду, чтобы не покупали... P.S. вообще то закрытое ПО - это путь фокса... |
|||
31
MMF
27.11.06
✎
15:20
|
(8) не обрабатывался код ОписаниеОшибки().
вот че получилось из твоей обработки: http://slil.ru/23476614 |
|||
32
FLENDGER
27.11.06
✎
15:44
|
ссылка больше не работает? оО
|
|||
33
coder1c80
27.11.06
✎
15:47
|
(31) Может ещё из типовой Бух ОбновлениеКонфигурации.epf откроешь? А то плагин с ошибкой выпадает, а посмотреть интересно...
|
|||
34
MMF
27.11.06
✎
16:01
|
(33) выложи куда-нить, у меня нет бухии под руками
|
|||
35
angro
27.11.06
✎
16:02
|
(31) спасибо конечно, но это не моя обработка, просто хотелось посмотреть :).
|
|||
36
GrayT
27.11.06
✎
16:04
|
(+32)А новой версии мы уже не увидим? :(
|
|||
37
coder1c80
27.11.06
✎
16:04
|
(34) Бери: http://slil.ru/23476874
P.S. Рабочая версия плагина будет? |
|||
38
vhl
27.11.06
✎
16:10
|
(0) А что - уже убрал из общего доступа?
|
|||
39
tsr
27.11.06
✎
16:41
|
И припев:
ты уже более получаса висишь тут....значит тя уже вычислили....еще не слышишь вой сирен?Беги Вова,беги! (2 раза) |
|||
40
andrey995
27.11.06
✎
16:52
|
Киньте ссылку !!
|
|||
41
coder1c80
27.11.06
✎
16:55
|
повязали уже что-ли? ) я жду, жду...
|
|||
42
Старичок
27.11.06
✎
17:02
|
Старый народ, уже не тот, чушь всякую слушает про повяжут. Как говориься волков бояться в лес не ходить, боишься пиратов из 1С не берись вообще, это лучше чем бросать недоделав из-за каких то трусов, пропагандирующих свою трусость криками о лицензионности.
|
|||
43
coder1c80
27.11.06
✎
17:09
|
(42) да ясно, ерунда это всё...
|
|||
44
mcltd
27.11.06
✎
17:18
|
ММФ! а где можно скачать ваше чудо!
|
|||
45
MMF
27.11.06
✎
17:39
|
(43) опкоды для/каждый/цикл/если не обработаны. Вручную по кодам я бы мог раскодировать, но пока не формализовал. Короче похоже на исходную обработку только слегка - в твоем обновлении дофига команд ветвления. http://slil.ru/23477473
|
|||
46
coder1c80
27.11.06
✎
17:43
|
(45) спасибо, погляжу... Надеюсь увидеть реализацию плагина полноценную, вещь-то хорошая...
|
|||
47
RDD
27.11.06
✎
17:45
|
Даешь рабочий вариант! даешь открытое ПО!
|
|||
48
MMF
27.11.06
✎
17:56
|
(46) а это что, при обновлении конфы рекламу принудительно качает? хады :-)
|
|||
49
mcltd
27.11.06
✎
18:00
|
MMF! не качает с ссылки вверху
|
|||
50
Ajeksa
27.11.06
✎
18:04
|
(48) Один модуль открыл, другой нет.
Респект и уважение... |
|||
51
Neco
27.11.06
✎
19:04
|
На партнерском обсуждалась эта "защита". Так внятного ответа от 1С не дождались.
MMF респект ;-) |
|||
52
romix
модератор
27.11.06
✎
19:07
|
Имхо все может быть зашифровано парой ключей. Второй ключ - аппаратный. :-)
|
|||
53
Neco
27.11.06
✎
19:14
|
Кстати по адресу в (0) ничего не качает :-(
|
|||
54
snc
27.11.06
✎
23:43
|
Зря товарищи (6),(9),(24),(39) возмущаются. Вам же лучше делают.
Вчитайтесь в (30) "повторить путь ММФа для грамотных - пара пустяков, зато производители информированы..." Вам указали на дыры - вы и латайте, если хотите надежнее защититься. |
|||
55
orefkov
27.11.06
✎
23:44
|
(romix)
Ну ты то что говоришь за ключи? Ну зашифруешь. Один фиг настанет момент, когда понадобится отдать расшифрованый байт-код виртуальной машине для его выполнения. Неужели ты не сможешь отловить этот момент? |
|||
56
romix
модератор
28.11.06
✎
00:05
|
(55) Тогда надо в процессор (ЦП) встраивать второй ключ (не этим ли кстати занимался Торвальдс в своей Трансмете?). Никто не перехватит и не взломает. :-)
Я одно время занимался однокристалльными микропроцессорами (там память и процессор напылены на одном кристалле), так там в этом отношении - принципиально не подкопаешься (код закрыт от модификации и чтения, если поставить "бит защиты"). А на аппаратном уровне если лезть - то надо умудриться соскоблить верх чипа и не повредить сам чип, и как-то вмешаться в напыленный микрочип, чтобы убрать этот бит защиты (ЦРУ, может быть, с этим справится, а вот хакер - вряд ли). |
|||
57
sapphire
28.11.06
✎
00:09
|
(56) В ОИЯИ (Дубна) занимались аппаратными системами защиты данных, насколько знаю - разработчики где-то в голландии. Для PC & SPARC делали затычки на уровне системной логики. Тоже взломать пока никому не удалось :)
|
|||
58
romix
модератор
28.11.06
✎
00:18
|
Но это все фантастика - Билли доходов и так я думаю хватает.
А Интелу это все нафик не нужно (наоборот доходы подрежет). |
|||
59
romix
модератор
28.11.06
✎
00:19
|
(57) Я сам из Дубны. :-)
|
|||
60
sapphire
28.11.06
✎
00:21
|
(59) Протвино :)
|
|||
61
romix
модератор
28.11.06
✎
00:23
|
(57) Там я говорю принципиально не взломаешь.
Так, сотовая связь вполне хорошо защищена (на халяву теперь никто не звонит). Игровые консоли типа X-BOX по-моему еще никто не взломал (пытались правда через ошибку переполнения пролезть, но ее прикрыли - и лазейка исчезла). |
|||
62
sapphire
28.11.06
✎
00:27
|
(61) Про сотовую связь такого сказать, к сожалению, не могу - звонить и пр. можно,
просто аппаратура уж очень дорогая, но она есть. Примитив, конечно, пофиксили. |
|||
63
MMF
28.11.06
✎
00:34
|
(55) нужно сделать процесс преобразования текст - байт-код необратимым. Дизасемблировать экзешник можно, но исходный код не получишь, потому что оптимизация - односторонняя операция. А оптимизатор байт-кода 1с-ки был бы нелишним. Но сделали самую простейшую стековую машину, в которой однозначное соответствие байт-код - модуль, его породивший, оставили в образе все использованные наименования методов/свойств агрегатных объектов. Ну и пжалста, кто захочет - восстановит.
Сам знаешь, во что превращаются строки наподобие: ОбщийОтчет.ПостроительОтчета.Параметры.Вставить("ДатаАктуальности", ОбщийОтчет.ДатаКон); ОбщийОтчет.ПостроительОтчета.Параметры.Вставить("ДатаАктуальности_Год", Год(ОбщийОтчет.ДатаКон)); ОбщийОтчет.ПостроительОтчета.Параметры.Вставить("ДатаАктуальности_Месяц", Месяц(ОбщийОтчет.ДатаКон)); не удивительно, что нужно хорошее железо для 8-ки. |
|||
64
MMF
28.11.06
✎
00:38
|
(61) погугли "X-BOX + взлом"
|
|||
65
sapphire
28.11.06
✎
00:57
|
(64) Будет время погуглю, право же мне суть не до x-box.
Про оптимизацию байт кода и обратную декомпиляцию - полное восстановление кода невозможно,а вот частичное вполне. Пример - java 1.2 (ДО возникновения reflection API). |
|||
66
romix
модератор
28.11.06
✎
01:07
|
(64) Взлома таких вещей принципиально нет, хоть обгуглись.
Некоторое время обсуждалась ошибка переполнения в одной игре, через которую запускали посторонний софт. Современные аппаратные решения новых процессоров Intel страхуют ПО от таких ошибок. |
|||
67
Ajeksa
28.11.06
✎
01:08
|
(63) Если не сложно, поделится рабочим вариантом... с меня как всегда много пива...
|
|||
68
romix
модератор
28.11.06
✎
01:15
|
Погуглил:
http://www.dtf.ru/news/read.php?id=37665 Предшественник Xbox 360, первый Xbox, заслужил сомнительную славу чрезвычайно легкой для взлома консоли. Microsoft утверждает, что все уроки были ею усвоены, и в новом поколении приставок защита была вознесена на недосягаемую высоту. Впрочем, как известно, взлом любой системы - это всего лишь вопрос времени и средств. http://www.computerra.ru/focus/new/18128/ Тут за 2002 год (видимо пишут про успешный взлом старых X-BOX). А вот здесь уже интересно (хакерам ничего не остается как брутфорсить закрытый ключ): http://distributed.ru/forum/?a=topic&topic=110 Neo Project запускает Xbox Public Key Challenge Цель этой инициативы - восстановить закрытый ключ Microsoft по ее открытому ключу. Участники Neo Project хотят восстановить 2048-битный ''закрытый'' ключ (private key), которым Microsoft подписывает контент для своей приставки Xbox. Если эти старания увенчаются успехом, пользователям Xbox больше не понадобятся modchip'ы для запуска неавторизованного ПО. В подборе ключа могут принять участие все желающие (для этого необходимо всего лишь скачать Neo Client 1.0.600), однако, если выяснится, что инициатива нелегальна, она будет свернута. .... Самое печальное, что MS может сменить пару открытый ключ/закрытый в новой версии консоли и тогда многолетний (именно многолетний, т.к 2^2048 это больше чем атомов во вселенной их примерно по некотоорым оценкам примерно 10^80~2^192) труд окажется никому не нужным, т.к сегодняшяя версия через 1-2 года морально устареет. Я уже высказывался по поводу взома ключей. Понятно что перебором взломать можно всё поэтому важно имеенно соотношение [время взлома]/[время актуальности информации]. Если это соотношение больше 1, то смысла ломать нет! |
|||
69
MMF
28.11.06
✎
01:21
|
(63+) таких строк в 1С-ком коде море. И одного с умом примененного фортовского DUP хватило бы значительно ускорить обработку агрегатных объектов. Вот на месте Нуралиева вытащил бы из-за голенища ложку и каааак закатил бы в лоб ответственному за байт-код.
(66) есь. И бит защиты в ВЕ51 и прочих не помогает. (67) его существование еще под вопросом :-) |
|||
70
romix
модератор
28.11.06
✎
01:26
|
(69) Думаешь, код 1С выполняется сколько-нибудь значительное время в общем объеме вычислений?
|
|||
71
Reliz
28.11.06
✎
01:26
|
(61)"Так, сотовая связь вполне хорошо защищена (на халяву теперь никто не звонит). " - это верно - фрикинг умер.
Но, слушают все кому не лень. "Связь по радио - тайной не обеспечивается" (с) "Сталкер" |
|||
72
Ajeksa
28.11.06
✎
01:31
|
(69)3 Если вдруг.., скажи как нибудь... ;)
|
|||
73
romix
модератор
28.11.06
✎
01:33
|
(69) >И бит защиты в ВЕ51 и прочих не помогает.
В каких-то чипах (например PIC16F84) есть ошибки реализации, когда бит защиты снимается программатором. Ты про это? X-BOX + ВЕ51 не гуглится. |
|||
74
Reliz
28.11.06
✎
01:37
|
(72) А вы, товарищ, почему интересуетесь? :))
(73) Отвертку и осциллограф (по-ихнему осциллоскоп) никто не отменял. Паяльник тоже. Рано или поздно, но, ломается все. Кроме математики простых чисел. :)) |
|||
75
romix
модератор
28.11.06
✎
01:52
|
(74) А если процессорный блок, память и закрытый ключ находятся в одном чипе?
Тогда имхо ты ничего не сделаешь. Отвертка окажется слишком грубой перед микронным напылением. :-) |
|||
76
Reliz
28.11.06
✎
01:53
|
(75) Ну про отвертку и паяльник - это я несколько фигурально. Но смысл, надеюсь, ясен :))
|
|||
77
romix
модератор
28.11.06
✎
02:16
|
(76) Ты хочешь сказать что возьмешь мелкоскоп и запросто подкуешь англицкую блоху?
|
|||
78
Reliz
28.11.06
✎
02:23
|
(77)Ну если "мелкоскоп", тогда блоха "аглицкая" должна быть. Непременно.
Но, про блоху - это к Лескову. :)) Я хотел сказать другое. Ломается все. Кроме простых чисел. Они тоже ломаются, но долго (перебором). :)) |
|||
79
romix
модератор
28.11.06
✎
02:45
|
(78) Ну вот достаточно длинные простые числа если в чип заложат, то и будешь подбирать миллионы лет. :-) А с паяльником и кувалдой к чипу не подберешься - там дорожки микронной толщины.
|
|||
80
Песец
28.11.06
✎
08:34
|
(78) "Важнейшим для развития криптографии был результат К. Шеннона о существовании и единственности абсолютно стойкого шифра. Единственным таким шифром является какая-нибудь форма так называемой ленты однократного использования, в которой открытый текст ``объединяется'' с полностью случайным ключом такой же длины."
http://docs.luksian.com/security/crypto/intro/?f=./1.html |
|||
81
coder1c80
28.11.06
✎
09:13
|
(48) Ага, рекламу качает, а я то думал там интересное чего-нибудь увидеть...
|
|||
82
Rovan
гуру
28.11.06
✎
09:17
|
(80) в Лотус Нотес именно так и работает
|
|||
83
orefkov
28.11.06
✎
09:22
|
Ну, для взлома необязательно суметь дешифровать.
Всегда можно найти обходной путь. Для XBox, PS1, PS2 - это мод-чипы. Для PSP мод-чипа пока нет, обходятся програмными средствами, но не всегда хорошо. За XBox-360 и PS3 пока нескажу ничего. (69) Для 1С перейти на такую систему - это очень большой шаг, связанный прежде всего с изменением самой парадигмы написания и отладки программ конечными прогерами. Ведь в этом случае придется вводить "варианты" компиляции, debug, release, объяснять, что release может несовсем соответствовать исходному коду программы и обычным отладчиком уже не отлаживаться. Что еще более увеличит как порог вхождения, так и затраты на разработку и тестирование. Немаловажно еще и полное отсутствие системы типов в языке, что по-любому приводит к необходимости сохранять в байт-коде имен вызываемых методов и свойств объектов. А наличие оператора "Выполнить" приводит к необходимости хранить также и имена всех переменных и методов модуля. |
|||
84
AndyFox
28.11.06
✎
15:23
|
Для romix -
1) есть способ бесконтактно снять с чипа с известной топологией инфу - каким-то микроскопом (не оптическим, конечно же:). В UK пять лет назад снять с стандартной однокристаллки прогу обходилось ок. 10000 фунтов стерлингов. 2) есть эмуляторы, например на Digital Alpha под NT4 был fx32 (x86 MS Office хорошо под ним работал). Причем в нем 2 режима - просто интерпретация "на ходу" и практически перекомпиляция в "нативный" код Alpha из x86(работал идеально, если в коде не было путаний сегментов данных и кода). >>В каких-то чипах (например PIC16F84) есть ошибки реализации, когда бит защиты снимается программатором. - есть еще способы обойти при пониженных напряжениях, ... - обойти можно, был бы экономический смысл. |
|||
85
Читатель
29.11.06
✎
18:02
|
Как то книжку читал про взлом чипов. Её мое, че там только не применяется. Классический способ - анализ скорости отклика. Так что для взлома всегда остается поле непаханное
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |