ildasm
От: nap2k Верблюд есть
Дата: 29.05.03 05:36
Оценка:
А что получается через ILDasm можно посмотреть весь управляемый код? Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть? Т.е. управляемый код совершенно незащищен?
<<Visual Studio.NET, MSSQL 2k, Win2k Server + sp2>>
Re: ildasm
От: Dr_Sh0ck Беларусь  
Дата: 29.05.03 05:54
Оценка:
Здравствуйте, nap2k, Вы писали:

N>А что получается через ILDasm можно посмотреть весь управляемый код? Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть? Т.е. управляемый код совершенно незащищен?


Есть такой момент...
Но есть и такие весчи, как обфускаторы.
Подробнее
здесь
здесь
здесь
Do not fake yourself ;)
ICQ#: 198114726
Re: ildasm
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.05.03 05:56
Оценка:
Здравствуйте, nap2k, Вы писали:

N>А что получается через ILDasm можно посмотреть весь управляемый код?


Ага, на ILAsm

N>Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть?


Ну это вряд ли.

N>Т.е. управляемый код совершенно незащищен?


Что ты понимаешь под защищенностью?
... << RSDN@Home 1.0 beta 8 >>
AVK Blog
Re[2]: ildasm
От: migel  
Дата: 29.05.03 07:49
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ага, на ILAsm


точно
N>>Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть?

AVK>Ну это вряд ли.

Раз-не раз но во-много раз проще чем для нативных I86 кодов — по крайней мере сам IL этому оччень способствует

N>>Т.е. управляемый код совершенно незащищен?


AVK>Что ты понимаешь под защищенностью?


Наверное имеется в виду всякие там Copy rights для алогритмов хитрых
Re[3]: ildasm
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.05.03 08:16
Оценка:
Здравствуйте, migel, Вы писали:

AVK>Ну это вряд ли.

M>Раз-не раз но во-много раз проще чем для нативных I86 кодов — по крайней мере сам IL этому оччень способствует

Насчет во много раз я бы не стал утверждать. Несколько попроще возможно. Трудность восстановления исходных кодов больше определяется компилятором. К примеру исходный код дельфевого модуля восстановить вполне реально, несмотря на то что он скомпилирован в x86, а вот код на МС++ с включенной оптимизацией для того же IL восстановить автоматически не так то просто. Хотя конечно наличие метаданных в исполняемых файлах простоте декомпиляции способствует.
... << RSDN@Home 1.0 beta 8 >>
AVK Blog
Re[3]: ildasm
От: nap2k Верблюд есть
Дата: 29.05.03 08:21
Оценка:
Здравствуйте, migel, Вы писали:

M>Здравствуйте, AndrewVK, Вы писали:


AVK>>Ага, на ILAsm


M>точно


он вроде ILDasm называется, или я что-то путаю? Я имел в виду шнягу для просмотра сборок, которая входит в VS.NET.

N>>>Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть?


AVK>>Ну это вряд ли.

M>Раз-не раз но во-много раз проще чем для нативных I86 кодов — по крайней мере сам IL этому оччень способствует
Ну вот, и я не вижу особых сложностей декомпиляции

N>>>Т.е. управляемый код совершенно незащищен?


AVK>>Что ты понимаешь под защищенностью?


M>Наверное имеется в виду всякие там Copy rights для алогритмов хитрых

M>

Ага, именно это.
<<Visual Studio.NET, MSSQL 2k, Win2k Server + sp2>>
Re: ildasm
От: OldDino Россия  
Дата: 29.05.03 09:35
Оценка: 8 (2)
Здравствуйте, nap2k, Вы писали:

Что из исходного кода не сохраняется в метаданных? Во-первых, естественно, не сохраняется сам код (он превращается в ILASM), но его достаточно легко восстановить. Во-вторых, не сохраняются имена локальных переменных функций (здесь уже никуда не деться, придётся придумывать самому). В-третьих, напрочь теряются комментарии. Ну, а им-то уж теряться положено по статусу. Имена типов, их организация и так далее — всё это есть в метаданных. Отсюда мораль — если использовать ТОЛЬКО изменения имён, то в любом случае восстановить мысль автора программы будет намного проще, чем, скажем, в native-коде. Говорят, правда, что Salamander какие-то хитрые вещи выделывает, но я, к сожалению, его не видел.
Отсюда мораль — если важно не показать какие-то алгоритмы, присутствующие в программе, то лучше всё же использовать какие-то специальные (в т.ч и сделанные специалистами по защите, а не самопальные) средства внутри программы, а не помещать всё в код в голом виде. А если код к тому же и управляемый...
С другой стороны, насколько дороги эти алгоритмы? Будет ли кто-то хотя бы пытаться понять, как работает программа? Она действительно уникальна в своём роде? Никто не знает даже подходов к решению задач? Если так, то стоит, наверное, потратиться на действительно хороший обфускатор. Если нет, то имеет ли вообще смысл огород городить с защитой?

С уважением,

OldDino

N>А что получается через ILDasm можно посмотреть весь управляемый код? Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть? Т.е. управляемый код совершенно незащищен?
Re[4]: ildasm
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.05.03 00:30
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Насчет во много раз я бы не стал утверждать. Несколько попроще возможно. Трудность восстановления исходных кодов больше определяется компилятором. К примеру исходный код дельфевого модуля восстановить вполне реально, несмотря на то что он скомпилирован в x86, а вот код на МС++ с включенной оптимизацией для того же IL восстановить автоматически не так то просто. Хотя конечно наличие метаданных в исполняемых файлах простоте декомпиляции способствует.


Фигню говоришь. Оптимизации в Дельфи ничем не хуже (код корежет дай дорогу). А вот востановить с машинного кода что-либо очень трудно. А с мсил-а как раз влет. Та же Анакрина востанавливает оптимизированный мсил влет. Он скоре спотыкается на нестандартные расширения МС++ которые дотупны и без оптимизации.
... << RSDN@Home 1.0 beta 8 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: ildasm
От: 4mbi3nt http://esud.info
Дата: 31.05.03 17:47
Оценка: 2 (2)
Есть такая вещь, называется Salamander .NET Decompiler

Я чуть в обморок не упал, когда увидел исходники моей программы, причем код был лучше отформатирован, чем оригинал

Если кого то интересует, это здесь
(Предупреждаю:не для слабонервных)
esud.info
Re[6]: ildasm
От: MaxMP Россия  
Дата: 31.05.03 19:19
Оценка: 2 (1)
Здравствуйте, 4mbi3nt, Вы писали:

4>Есть такая вещь, называется Salamander .NET Decompiler


4>Я чуть в обморок не упал, когда увидел исходники моей программы, причем код был лучше отформатирован, чем оригинал


4>Если кого то интересует, это здесь

4>(Предупреждаю:не для слабонервных)

Ха-ха, а я увидел следуещее, попробовав свои коммерческие сборки:
Слева A, B, C...
Справа This assembly is protected by Remotesoft .NET Obfuscator, decompiling aborted.
Re[7]: ildasm
От: nap2k Верблюд есть
Дата: 01.06.03 06:21
Оценка:
Здравствуйте, MaxMP, Вы писали:

MMP>Здравствуйте, 4mbi3nt, Вы писали:


4>>Есть такая вещь, называется Salamander .NET Decompiler


4>>Я чуть в обморок не упал, когда увидел исходники моей программы, причем код был лучше отформатирован, чем оригинал


4>>Если кого то интересует, это здесь

4>>(Предупреждаю:не для слабонервных)

MMP>Ха-ха, а я увидел следуещее, попробовав свои коммерческие сборки:

MMP>Слева A, B, C...
MMP>Справа This assembly is protected by Remotesoft .NET Obfuscator, decompiling aborted.
MMP>)

По какому принципу работают обфускаторы? И почему MS не включает их в состав NET SDK?
<<Visual Studio.NET, MSSQL 2k, Win2k Server + sp2>>
Re[8]: ildasm
От: Dr_Sh0ck Беларусь  
Дата: 01.06.03 10:21
Оценка: 2 (1)
Здравствуйте, nap2k, Вы писали:

N>По какому принципу работают обфускаторы? И почему MS не включает их в состав NET SDK?


Я ж давал тебе ссылки на статьи
И вроде в SDK'е есть какой-то (точно не помню какой)
Do not fake yourself ;)
ICQ#: 198114726
Re[2]: ildasm
От: Andir Россия
Дата: 02.06.03 05:11
Оценка:
Здравствуйте, Dr_Sh0ck, Вы писали:

D_S>Здравствуйте, nap2k, Вы писали:


N>>А что получается через ILDasm можно посмотреть весь управляемый код? Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть? Т.е. управляемый код совершенно незащищен?


D_S>Есть такой момент...

D_S>Но есть и такие весчи, как обфускаторы.

Хмм ... а что значит вот такая галочка на страничке саламандры ?

de-obfuscate(turn any obfuscated code into recompilable format)


С Уважением, Andir!
Re[8]: ildasm
От: Gollum Россия  
Дата: 02.06.03 05:59
Оценка:
Здравствуйте, nap2k, Вы писали:

N>По какому принципу работают обфускаторы? И почему MS не включает их в состав NET SDK?


Работает, насколько я помню, в основном изменяя названия функций и переменных на нечто неудобоваримое.

Есть обфускатор в составе VS 2003. Никто не пробовал, как оно?
... << RSDN@Home 1.0 beta 6a >>
Eugene Agafonov on the .NET

Re[3]: ildasm
От: nap2k Верблюд есть
Дата: 02.06.03 06:20
Оценка: -1
Здравствуйте, Andir, Вы писали:

A>Здравствуйте, Dr_Sh0ck, Вы писали:


D_S>>Здравствуйте, nap2k, Вы писали:


N>>>А что получается через ILDasm можно посмотреть весь управляемый код? Т.е. написать декомпилятор для конктетного dotNET-языка (вроде Jad для Java) — раз плюнуть? Т.е. управляемый код совершенно незащищен?


D_S>>Есть такой момент...

D_S>>Но есть и такие весчи, как обфускаторы.

A>Хмм ... а что значит вот такая галочка на страничке саламандры ?

A>

de-obfuscate(turn any obfuscated code into recompilable format)


<<Visual Studio.NET, MSSQL 2k, Win2k Server + sp2>>
Re[3]: ildasm
От: migel  
Дата: 02.06.03 12:04
Оценка:
Здравствуйте, Andir, Вы писали:

A>Хмм ... а что значит вот такая галочка на страничке саламандры ?

A>

de-obfuscate(turn any obfuscated code into recompilable format)

Кстати с точки зрения декомпиляции эта байда (в смысле обфускация имен) усложняет жизнь совершенно не на много — просто при разыменовании токена за именем не в CIL таблицу лезеш — а в свою динамически построенную Ж-)
Re[4]: ildasm
От: MaxMP Россия  
Дата: 02.06.03 12:05
Оценка: +1
A>>Хмм ... а что значит вот такая галочка на страничке саламандры ?
A>>

de-obfuscate(turn any obfuscated code into recompilable format)


Ну свой обфускатор они не подставляют — в нем есть спечиальная опция, типа, запретить саламандеру декомпилировать сборку.

А на деле, и до обфускации _хрен разберешься_ в сложном/большом проекте (и декомпиляторы не помогут), так что обфускаторы скорее мешают декомпилировать-изменить-закомпилировать сборку, + использовать сбоку на стороне, а не в составе продукта.
Re[2]: ildasm
От: nap2k Верблюд есть
Дата: 03.06.03 06:14
Оценка: 1 (1)
А вот еще вопрос. Вы думаете MS будет выпускать свои продукты под dotNET

Они же фактически станут OpenSource

Не значит ли это, что неуправляемый код будет жить еще очень долго если не всегда
<<Visual Studio.NET, MSSQL 2k, Win2k Server + sp2>>
Re[3]: ildasm
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.06.03 07:11
Оценка: 2 (1)
Здравствуйте, nap2k, Вы писали:

N>А вот еще вопрос. Вы думаете MS будет выпускать свои продукты под dotNET


А сам дотнет или куски студии это не продукт что ли?

N>Они же фактически станут OpenSource


Ну и что? MS вобще то никогда не отличался особой страстью к защитам, за исключением разве что активации.

N>Не значит ли это, что неуправляемый код будет жить еще очень долго если не всегда


Естественно в определенных областях обычный нативный код будет еще очень долго, по крайней мере до тех пор пока процессоры не научаться выполнять напрямую IL.
... << RSDN@Home 1.0 beta 8 >>
AVK Blog
Re[4]: ildasm
От: WFrag США  
Дата: 03.06.03 08:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

N>>Не значит ли это, что неуправляемый код будет жить еще очень долго если не всегда


AVK>Естественно в определенных областях обычный нативный код будет еще очень долго, по крайней мере до тех пор пока процессоры не научаться выполнять напрямую IL.


Скорее, проблема в GC. IL замечательно JIT-уется.
7. О чем невозможно говорить, о том следует молчать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.