Pull to refresh
8
-4
Send message

picoUART хорош, и практически подходит(полудуплекс можно), но вот крайне сложно вписать туда конфигурирование порта, когда нужно несколько стопбитов, нужен parity check и прочие навесы, да и ручками там много нужно чего делать (буфер менеджить), переключение в другой baud rate - это уже ручками. Предположу, что в итоге получится соразмерный код.

Telerik и JB — ответ на платный Reflector.

По Telerik-у — насколько я знаю, не совсем так. Они давно на это заглядывались, в 2007-8-х годах, казалось, что это эльдорадо, и в те года они хотели купить сторонний (опять же по примеру RedGate, RG признались о своей неудачной покупке по-моему в 2010-м).
Разработка своего — just for fun. Потому что интересно и это — хобби. Не более того.

На мой взгляд лучше позиционироваться на роли инструмента восстановления кода (утраченного), конвертера кода из одного языка в другой — в этом основная польза этого инструмента. В таком случае и целеполагание будет точным.
Ну, удачи. Будем посмотреть :)
Да, я даже более развернуто задал бы вопрос:
Не боитесь ли вы исков от компаний-вендоров (или от банкстеров — у них полно .Net кода), когда они узнают, что их know-how код был reverse engineered при помощи вашего декомпилятора?
Интересно, что в списке текущих средств, кроме Reflector-а — остальные, ну можно назвать «новички».
А как же 9Rays-овский Spices.Net Decompiler (представляющий visual decompiler, не то что бы ух, но для представления интересен), а как же Dis# (с интересной функцией inplace) — российского происхождения? Подревнее будут. Reflector тут вообще должен идти как №1 — ветеран, экс-супер-мега популярный декомпилер.
Почему упомянул «новички» — дело тут в базе кейсов кода. Понятно, что в данной статье описаны, ну просто совсем базовые вещи, однако даже разница продуцируемого компиляторами MSIL версий от .Net 1.1 и 2.0 и далее — есть. Плюс кейсы от различных экзотических и не очень конструкций кода.
Далее — MSIL продуцируемый VB-компилятором и c# (и уж про managed c++ можно что-то сказать) — это серьезное испытание для декомпилятора, то есть конверсии c#->c#, VB->VB неплохи будут, но вот c#->VB уже будет вызывать сложности (это также — множество кейсов).
Ну и вообще — вот очередной девелопер взялся за декомпилятор(а то как-то мне уже кажется здесь история про yet another cd-ejector. Не ищите здесь ворчливости, просто вопрос декомпиляции — это вопрос тысяч и тысяч кейсов. Базово конечно будет работать, а дальше? Откуда кейсы брать?). Какие задачи он ставит перед собой (ну the best decompiler in the world, отринем)? Попыток-то много было, все-таки история вопроса — а ж с 2003 года(это для .Net decompiers конечно), у того же телерика — это попытка, а мне кажется сначала для собственных нужд они его делали, а вот RedGate купившее Reflector уже и так признавалось, что покупка себя не отбила и не отобьет (Лутц Ройдер просто продал им, и ушел в консальтинг, а они еще и за миллион бакинских купили неплохой обфускатор из базовых — SmartАssembly в попытке рынок забрать, сейчас явно проблемы у ребят). Даже на RSDN разрабатывали коллективно свой декомпилер.
Ну да, и при ответе на вопрос, действительно стоит в список задач поставить пункт «как быть с обфусцированными сборками?»/ Он тут одновременно превращает декомпилятор в инструмент для не очень моральных, с точки зрения производителя, персон. Да, декомпилятор — инструмент двойного назначения. Однако и многие производители обфускаторов обозначают в списке фичей — «защита от Reflector», что тоже важно для защищающих свой код компаний.
Ох сколько уже попыток было…
Пара вопросов по how it works:
1. Обычно производители или владельцы кода испытывают диссонанс когда они защищают свой код, а тут раз… и надо его в третьи руки(а у многих(корпоративных) даже в соглашениях о неразглашении прописан прямой запрет передачи) передавать код третьей стороне. Как эта проблема решена в вашем SaaS решении?
2. Интересно конечно, как же происходит поиск референсных сборок, если они допустим не системные, а от стороннего вендора, или кастомные? Бывают проекты на 1-10 гигов (если учитывать все референсные сборки).
Вопросов конечно больше, но вот SaaS (или около-SaaS) решения в области защиты кода часто упираются в этот тупик.
Спасибо заранее.
4. Банки. — по Прибалтике — у них немало представительств в Москве и Петербурге. Но вот как говорил — не нравится их зависимость и неустойчивость(не финансовая, политическая что-ли). В остальном неплохи, но все так же как с кипрскими — за любой пук снимают деньги.
Небольшие дополнения:
2. Кипр не всем подходит. — в общем-то аудиторские компании предлагают избежание налогов, но яя знаю, что есть вероятность что можно напороться на арест счетов и разбирательство. Конечно аудит-компании об этом не будут говорить, уверяя, что все будет тип-топ. В любом случае — привязка к одной аудит- или юридической компании — не есть хорошо. аппетиты у них растут, против их аргументов не пойдешь, и лучше все это описывать в договоре. «Договариваться надо на берегу». Детально — что и когда надо платить, и за что.
Спасибо за информацию. Но уж извините мало конкректики. Собственно я уже проконсультировался с одной доверенной(поеймете чуть ниже) конторой и парой людей «в теме». Сходу могу сказать, что контору я еще не открыл, пообщался, собрал информацию.
Дополню вашу информацию:
Заинтересовался я офшорами из-за упрощения бухгалтерии, задобало каждый год готовить отчеты, а аудит все время повышает цены и обьясняет это тем, что работать становится все сложнее.
1. Немало контор, которые занимаются кидаловом. то есть открываете вы контору на себя, допустим в зоне BVI, а по прошествии некоторого времени выясняется, что контора открыта на Васю Пупкина, и он по суду получил контроль на конторой (это в общем-то виртуалка), и над счетом. Реально перепроверить собственника (бенефициара) во многих зонах после открытия компании невозможно (или присоветуйте как). Поэтому собственно я обращался к доверенным конторам, с репутацией.
2. Кипр не всем подходит. Надо платить налоги — 10%, но проблема бОльшая — надо обращаться к аутсорсу-аудиту или нанимать бухгалтеров чтобы подготовить отчет, а это уже доп. расходы, плюс гемор с подготовкой отчета(особенно вовремя). Почему я и интересуюсь годовой стоимостью содержания компании — чтобы сюрпризов не было. Лучше платить фиксированную плату, как например в зоне Сейшелл или BVI, чем заморачиваться с Кипром или Сингапуромс с ежегодными бумажками. Ну вот опять же я до сих пор по Сингапуру не имею полной информации — в одном месте говорят, что если оборот у тебя до $3млн(что устраивает большинство) — то фиксированно(надо раз в год высылать специальную ведомость, типа выписки по счету), выше — плати налог, в другом месте — для всех плати налог. Налог — это уже бухгалтерия, доп. расходы, надо сталкиваться с ЧСВ бухгалтера, и аудиторские конторы разводят хорошо, все больше с каждым годом.
3. Поэтому собственно я и остановился на BVI(Британские Виргинские Острова). В плане менеджмента — минимум. Что-то в районе $350 в год.
4. Банки. Ну мне вот рекомендовали кипрские — не буду делать рекламу, у всего двух представительства в России. Легко найти погуглив. Почему — банк должен быть под рукой, не нужно куда-то летать, достаточно телефона или визита в представительство. Есть другой вариант — прибалтийские банки. Ничего плохого не мог сказать до 2005 года, когда приехал Буш в Прибалтику и тут такое началось. Зависимая политика, и я боюсь, что с вступлением в Евросоюз лавку прикроют. С другой стороны — США считают прибалтийские банки «красной» зоной, то есть перевод от американской конторы в прибалтийский банк или обратно обращает внимание надзорных ведомств. Условно говоря Штаты считают Прибалтийские банки, даже после визита Буша, помойкой. Это надо учитывать. Я кстати ориентировался на HSBC — оставил у меня положительное впечатление, банк — выходец из ГонКонга, но уже штаб-квартира в Лондоне и бан стал глобален. Но вот не рекомендовали, обьясняя, что чем больше банк, тем с большей высоты он на вас клал. Ну по практике, могу согласится.
5. Почему у меня был вопрос «белости» офшора — ну вот исходя из п.5 — мне надо со Штатами работать, они не будут с «красной» зоной работать, не хотят проблем. Насколько я знаю, зону под британской юрисдикцией, BVI, Сингапур, Гибралтар — это белая зона для них, Кипр — 50/50. ГонКонг считается Китаем (для амеров это уже коммуняки), но полной информации нет.
6. То есть схема выглядит так — сначала надо открыть офшорную компанию. Потом с бумажками — в офис банка. Можно конечно заказать открытие компании и счета одновременно, но это класть все яйца в одну корзину — см. п.1. Готовая компания — это дешево и быстро (чем если вы будете заказывать и проверять свое имя. Тут есть способ прикрыть зад — зарегистрировать ТМ на имя, это возможно будет дешевле. Ну вот по ТМ -я пользую marcaria.com — никуда бегать не надо, работаю с ними уже третий год, могу рекомендовать), счет — это будет дольше, недели две-три.
7. Из небольших деталей — стоит открывать корпоративный счет в банке, и получать не дебетную, а дебетную карту работника. В этом случае можно открывать субсчета в разной валюте и издавать карты в евро или долларе отдельно. Это гибко — всегда можно выслать сотруднику или партнеру карту, с которой он может получать деньги. По возможностям веб-управления счетом не могу ничего сказать, но думаю там все как прибалтийских банках — удобно и гибко, можно дать доступ на просмотр субстчета работнику или партнеру, мультивалютность. Из неприятного — банки работающие с офшорами дерут за любое движение по счету — за прием, отправку, получение в банкомате у них повышенные тарифы, например за снятие 100 баксов в банкомате, банк возьмет свои 3.33 + плюс комиссия банка, владельца банкомата. Да, вы не платите налоги, вы платите банку.
Но вот плюс офшора — безгеморройность и аполитичность.
Был бы благодарен за дополнения и детали. Интересуют как раз минусы / плюсы, чем просто — «вот здесь все супер». Идеального ничего не бывает, и тут кстати роль банка важна — с ним работать надо часто.
По офшорам почитал бы, тем интересная. Особенно про «белые» офшоры, репутационность, годовую стоимость содержания. Поддержу.
Эх священная корова шаровары…
Вспоминается анекдот «И капитан приказал откопать стюардессу...»
Нет уже шаровары есть просто онлайн бизнес, есть it-разработка, web-разработка, и как в любом другом бизнесе надо предлагать очень полезное или очень-очень полезное. И без иллюзий, что это Эльдорадо.
Плимус уже дорос до платформы, и 10% — это когда продукт стоит меньше $100, если больше — 5% и меньше. А платформа позволяет интегрировать нотификации о приеме платежа на сайте, так и автоматизировать отсылку всей регистрационной информации, короче превратить сайт в такой полуавтоматический заводик.
PayPal сейчас они тоже принимают, не говоря уже о работе с правительственными и корпоративными клиентами через PO(Purchase Order — это что-то вроде нашего гарантийного письма, где клиент гарантирует оплату в течение 30 суток(обычно так, в некторых странах доходит до 60)) — так размещаются крупные заказы от таких клиентов.
И кстати они уже предлагают продавать не только софт.
Хороший инструмент для продаж.
Кстати, коли речь зашла о готовых решениях, то стоило бы в табличку добавить и категорию helpdesk software.
Есть и в этой категории решение — nService
К CMS-кам можно присовокупить Telerik-овский Sitefinity
К E-commerce: Aspdotnetstorefront и ZNode (конечно тут стоит делать пометку — это e-commerce enterprise уровня).
Это как посмотреть.
1. 16 kb приложение превращается в 77 kb. А это для CF приложений это критично. Для SL — тем более.
2. Приложение становится неверифицируемым (собственно при применении всяких штучек и другие обфускаторы это делают)
3. Самое непонятное — у 64 битных сборок уже нет инициализирующего кода (jump-а передающего управление mscoree, это сделано из соображений безопасности, чтобы не было соблазна перехвата.) Будет ли корректно запускаться в 64-битной среде такое приложение? Сомневаюсь. Протекторы на этих джампах инциализации сидят все. То есть защита anyCPU приложения под вопросом.
4. Возможностей для диагностики — 0.
5. Такое приложение требует full trust на машине клиента. Не всякая среда даст такой уровень для приложения.

Это я к тому, что вокруг защиты есть много всяких дополнительных вещей и требований. И кроме защиты приложения, необходимо задумываться как его обслуживать, работать с exceptions и диагностировать. Может так получиться, что хорошо защищенное приложение станет кошмаром для пользователя (вот кстати случай про MS-вскую cliSecure). То есть нужен некий баланс.
Знакомый и популярный demand, но обфускаторщики не сильно смотрят в сторону CF просто по трем причинам — маленький рынок и ущербность CF (ей и сегодня далеко до взрослой, начиная с диагностики) и на этом рынке нет победителя, будущее его непонятно (к тому же стоит посмотреть долю WinMobile на рынке мобильных устройств, да и вообще судьбу мобильных осей — тут нет такой стабильности как с Windows-Linux-MacOS в десктопных вещах).
Сейчас смотрят в сторону технологии Silverlight, которая может стандартизовать как-то приложения для всех мобильных и не мобильных устройств, а также механизмы «доставки» до устройства, разворачивания и общей среды вне зависимости от оси. Если слухи о покупке Adobe Microsoft-ом реальны, то вполне SL может заменить и флеш технологии и стать стандартом. Вот тогда уж все завертится…
У Salamander были проблемы с совместимостью, когда вышла .Net 2.0 и надо было защищать проекты, которые содержали .Net 1.1 и .Net 2.0 сборки. Все из-за того, что Salamander — не нэтивная прога для .Net, написанная на сях, и использующая COM-интерфейсы для доступа к метаданных сборок. Чтобы допустим работать со сборками 2.0 Саламандер должен инициализировать именно интерфейсы от .Net 2.0 а для сборок 1.0/1.1 — интерфейсы от 2.0. а это не получится в одном сеансе. Они выпутались, и стали предлагать при запуске — какую машинку инициализировать. Но сейчас-то на рынке как минимум 4 версии, плюс CF, Mono и пр.
Вот такая незадача вышла.
Да у них сейчас мегазадача стоит — скрестить рефлектор со смартассембли, чтобы выпустить полноценный продукт в одном флаконе, как у 9Rays.Net и Remotesoft, у которых есть интегрированная среда для работы.
На самом деле ответ подобного уровня паранойе (ибо НХ лучше патентовать, это лучшая защита для подобного рода решений имхо) было предложено.
Израильтяне в 2007 году развели Microsoft по крупному и продали ей технологию secureIL за 80 лимонов, которую уже MS широко разрекламировала в тоне «ну уж теперь проблем с защитой IL не будет».
Вот здесь есть информация об этой технологии.
Суть технологии такова — IL инструкции заменяются на совершенно другой набор secureIL инструкций, то есть сборка становится недоступна для ILDASM. Чтобы запустить подобную сборку, необходимо иметь дополнительную надстройку над .NET которая производит обратный процесс secureIL-> MSIL и передает управление в .Net. Вроде все просто, сложность тут одна — надо иметь надстройку. Но шума было много и производителей обфускаторов пользователи терзали вопросами по поводу этой приблуды. История закончилась тем, что технология не пошла, даже на корпоративном уровне. Все достаточно просто — коли есть набор secureIL инструкций, ничто не помешает производителям декомпиляторов в конце концов этот набор возпроизвести в своих машинках и начать декомпиляцию защищенных подобным образом сборок.
Любая защита — это не панацея. Принцип нормальной защиты — удорожание взлома, когда дешевле купить, чем ломать.
Ну и стоит помнить, что многие производители софта создают т.н «утечки» — сами выкладывают свой якобы взломанный софт на варезниках. Чего не сделаешь для рекламы своего софта.
На самом деле акценты на control flow не стоит ставить. У нормальных декомпиляторов в средствах оптимизации кода (а декомпилятор сначала получает raw-вариант кода, со всеми goto, после которого его оптимизирует уже) существуют и средства по опознанию control flow обфускации, а так как набор трюков подобного рода запутывания не так уж велик — это средство не стоит воспринимать как серьезное. ДА и главной проблемой опять же является совершенно простой способ получения работоспособной сборки с выключенной (или удаленной) защитой или проверкой лицензии — ILDASM/ILASM roundtrip — дизассемблировал, почистил IL-код, собрал, если надо — подписал уже своим ключем. И даже атрибут, защищающий сборку от загрузки в ILDASM — это опять же дело нескольких секунд.
Из всех перечисленных обфускаторов защитой от ILDASM/ILASM снабжен только Spices.Net Obfuscator и, частично, Dot.fuscator (но это доп.модуль ориентированный на защиту от корпоративных краж).
И кстати о рекомендациях — стоит процедуру проверки лицензии делать отложенной. То есть лучше будет если она запускаться будет через секунд 30, а то и больше. При загрузке приложения поставить на таймер запуск подобной процедуры — самое просто решение.
1

Information

Rating
Does not participate
Registered
Activity