vlkamov: Рембрандт. Автопортрет с широко открытыми глазами. (Default)
[personal profile] vlkamov
В комментах к посту про альтернативку заспорили с френдом по по поводу возможности реверс-инжиниринга мобильников, точнее - использования мобильника в качестве арифметического процессора, для вычислений. Ему эта мысль категорически не понравилась. Даже в сугубо гипотетической ситуации - низзя. Конечно, технические трудности несомненно были бы, но аргументы вышли далеко за. Условия задачи были резко изменеы для подгонки к нужному ответу.

Вначале было предложено сделать это своими руками. Предложение профинансировать "разработку" - "Обычный ответ человека , не имеющего опыта написания ПО для мобильников". Требование оплатить триста грамм колбасы - тоже обычный ответ человека, не имеющего опыта в производстве колбасы. А вот реинжиниринг мобильника хочет на халяву.

Далее потребовался полный комплект документации, группа специалистов и персональные компьютеры. Тут мой оппонент видимо вспомнил, что в ряде случаев возможно программирование непосредственно на самом мобильнике, зато был расширен временной интервал. Мол, для реверс-инжиниринга технологий 21-го века нужны технологии 21-го века, соответственно 19 - 19. Между тем в описываемых ситуациях речь шла не о двух веках, всего-то 30 и 60 лет разницы. 30 лет назад даже персональные компьютеры были, во втором случае владелец телефона, умеющий программировать, прилагался. Там еще полное, доходящее до абсурда, отрицание возможности извлечь полезную информацию из наблюдений обычного человека - хрестоматийное "не может чумазый играть на пианино", кухарка-государство, "народу не нужны нездоровые сенсации" и т.п.

А ведь в нашей реальности нас не удивляют третьеклассники, ручками прописывающие 63h жизней в ячейку памяти. В альтернативной же непременно нужен специалист по разработке игр. Это ключ к пониманию: специалист инстинктивно защищает свою территорию от вторжения потенциальных конкурентов. Даже в виртуальном мире - ради недопущения инициативников.

То есть если завтра у вас во дворе упадет инопланетный космический корабль ... В альтернативной реальности ("Пикник на обочине" и др.) конечно будут колупать, исследовать, тыкать в кнопочки - "это фантастика, сынок". В нашей реальности - нет же специалистов, документации - сдадут в металлолом.

Date: 2012-01-18 02:08 pm (UTC)
From: [identity profile] ru-liner.livejournal.com
наши вообще все могут разобрать, правда потом собрать надо еще ))

Date: 2012-01-18 02:15 pm (UTC)
From: [identity profile] iskatel.livejournal.com
>>. Мол, для реверс-инжиниринга технологий 21-го века нужны технологии 21-го века, соответственно 19 - 19. Между тем в описываемых ситуациях речь шла не о двух веках, всего-то 30 и 60 лет разницы.

Да, в плане развития ИТ-технологий последние 30 и 60 лет - как минимум эквивалент 2 веков в остальных отраслях. А то и больше.

>> А ведь в нашей реальности нас не удивляют третьеклассники, ручками прописывающие 63h жизней в ячейку памяти.

Зайди в магазин, купи стандартный iphone, и без всякого дополнительного ПО и оборудования "пропиши 63h в ячейку памяти. "
Сети у тебя тоже нет - ты ж типа в прошлом.
Как вариант - смарт на другой ОС, например на Андроиде.

Вот когда пропишешь - тогда цена этим фразам будет больше нуля. А пока - ноль. Даже без копеек.

>>Это ключ к пониманию: специалист инстинктивно защищает свою территорию от вторжения потенциальных конкурентов.

Не, я просто называю вещи своими именами. Болтовню , бесконечно далеко отстоящую от реальности, я так и называю болтовнёй.

==========================

Сто лет назад фантасты предсказали беспроводную связь, цветное видео, интернет. А толку ?
Всё это появилось в реальности тогда, когда доросли все основные технологии.
Какому-нибудь князьку средневекового княжества можно хоть 10 лет читать лекции по современным наукам. Толку будет ровно ноль.
Даже лучшие мастера и ученые того княжества смогли бы воспринять лишь идеи, немногим более поздние по временной шкале, например, в княжестве 16го века - идеи века 17го.

В ИТ это соответствует нескольким годам.

Date: 2012-01-19 05:17 am (UTC)
From: [identity profile] max630.livejournal.com
Если инженер в общих чертах знает систему команд ARM (вдруг он в молодости видел клоны PDP, где она похожа), то вся необходимая для расковыривания аяппаратура в послевоенные годы уже должна иметься. Для успешного реверса надо несколько допущений (навскидку - что чип памяти отдельно от процессора, что бинарники не подписываются), в которых я не уверен, но в целом задача вполне решаема.

Date: 2012-01-19 08:09 am (UTC)
From: [identity profile] vlkamov.livejournal.com
Да все могло быть еще проще. Коенчно я не специалист, но от публикаций про мобильники никуда не деньшся, и я видел упоминания мобильников с встроенным интерпретатором Java, реадактором текста. То есть достаточно нескольких листингов, чтобы понять как устроен язык, а для управления электрически присоединить контакты кнопок к считывателю перфоленты.

Все возражанты придумывают дополнительные трудности и условия.

Date: 2012-01-19 10:13 am (UTC)
From: [identity profile] max630.livejournal.com
нет, вот это уже вряд ли. Чтобы можно было прямо в телефоне писать на яве - такого я не видел.

Date: 2012-01-19 10:39 am (UTC)
From: [identity profile] vlkamov.livejournal.com
С лету нашел Basic, причем в составе эмулятора DOS.
У вас трудности с поиском ?

Date: 2012-01-19 10:47 am (UTC)
From: [identity profile] vlkamov.livejournal.com
MobiTur-T
Мобильный русско-турецкий и турецко-русский словарь, версия 1.5

English

Назначение, требования, функции

Мобильный словарь предназначен для использования во время турпоездок в Турцию на отдых и в любых других случаях, когда нет возможности носить с собой большой книжный словарь, а словарик из разговорника недостаточен.

Словарь разработан как приложение Java MIDP Application и предназначен для мобильных устройств с интерпретатором Java MIDP 2.0 + CLDC 1.1 и размером экрана не менее 240x320.

Date: 2012-01-19 11:32 am (UTC)
From: [identity profile] iskatel.livejournal.com
Вот в этом-то и разница между тем, кто в курсе вопроса, и фантазирующими гумманитариями.

Date: 2012-01-19 11:36 am (UTC)
From: [identity profile] vlkamov.livejournal.com
Вдруг вспомнил, где у нас всегда есть интерпретатор, и точно
"Первая версия браузера Opera Mobile была выпущена 3 апреля 2000 года и имела порядковый номер 3.6. Браузер работал на устройствах Psion Series 7 и netBook. Поддерживались такие веб-технологии как Javascript 1.1..."
Несколько HTML из кэша и туториал готов.

А вообще видел еще LISP, Jython, BEAN-что-то-там. То есть этого добра было навалом. Хотя точно Джавы не встретил, это да.

Date: 2012-01-19 11:31 am (UTC)
From: [identity profile] iskatel.livejournal.com
>>" Коенчно я не специалист"

Вот с этого признания и надо было начинать.

Date: 2012-01-19 11:52 am (UTC)
From: [identity profile] vlkamov.livejournal.com
А ты колбасу делать умеешь ?

Date: 2012-01-19 11:58 am (UTC)
From: [identity profile] iskatel.livejournal.com
Я так понимаю, других аргументов у гумманитария-фантазёра нету.
Рекомендую спорить по вопросам, в которых Вы хоть что-нибудь понимаете, а то совсем неинтересно получается, вот max630 хоть с предметной областью знаком, например.

Date: 2012-01-19 12:31 pm (UTC)
From: [identity profile] vlkamov.livejournal.com
То есть ты не умеешь программиировать даже на Беейсике. Специалист нужен.

Date: 2012-01-19 12:33 pm (UTC)
From: [identity profile] iskatel.livejournal.com
Какие именно "голоса в голове" тебе это сказали, я не знаю - но это твои проблемы.
Я-то умею и знаю, сколь далеко тот Бейсик отстоит от того, что есть в современных смартфонах.

Кажется, у тебя тяжелое воспаление участков головы, отвечающих за фантазию.

Date: 2012-01-19 11:30 am (UTC)
From: [identity profile] iskatel.livejournal.com
1) Инженер эпохи, где пока что нет никаких arm, в принципе не может знать "систему команд ARM". Для этого нужна документация.
2) " вся необходимая для расковыривания аяппаратура" не просто отсутствует "в прошлом", а отсутствует как класс - и сделать её без соотв. документации нереально.
3) Для написания ПО нужен соотв. инструментарий, начиная от компилятора языков высокого уровня (на ассемблере давно уж никто не пишет ничего сколь-нибудь серьёзного, кроме крошечных кусочков кода, критичных по времени выполнения. И десятилетия назад тоже не писали. См. , например, старые ядра Linux / Unix )
и гигабайт документации (Вы в курсе, сколько всего на крошечной плате смартфона ? рекомендую ознакомиться.), и кончая средой программирования (с эмуляторами и прочим).

Date: 2012-01-19 11:32 am (UTC)
From: [identity profile] max630.livejournal.com
1. начинается всё с современного инженера
2. осциллографы есть, аналогова

Date: 2012-01-19 11:38 am (UTC)
From: [identity profile] iskatel.livejournal.com
Хм. Ладно, возьмите современный смарт. У меня он под рукой, и внутреннее устройство мне, в общем, известно, равно как и то, как можно писать ПО и какими средствами ввода-вывода я располагаю.
Вы (по условиям задачи) - тот самый инженер из прошлого. Внутреннее устройство Вам неизвестно, документации у Вас нет, современного компа нет , у вас в руках просто сенсорный смарт, из разъемов - микро-усб(или иной) (но это я знаю, что это такое, а Вы - пока нет) .
Вы видите экран, можете тыкать пальцем. Всё.
Допустим, нужные напряжения для того, чтобы обеспечить питание, Вы нашли - по времени Вы не лимитированы.
А теперь расскажите, как, имея "2. осциллографы есть, аналогова", Вы осуществите обратный разбор аппаратной и программной части.

Date: 2012-01-19 12:00 pm (UTC)
From: [identity profile] max630.livejournal.com
Разбираем телефон, оголяем плату. находим ножки процессора и памяти, цепляемся к ним. Отцепляем схемку памяти, оставляя возможность работы её с процессором когда надо, чтобы иметь возможность вливать в неё наш код. Анализируем обмен, находим шины адреса и данных. Набираем статистику (тут надо подумать, как автоматизировать на имеющейся базе, принципиально это возможно), по ней определяем регистровые команды и команды переходов. При желании уже поработать вливаем код, открываем интерфейс до процессора, запускаем. Результат опять же считываем с шины. При возникновении проблем возвращаем соединение памяти с процессором.

Date: 2012-01-19 12:17 pm (UTC)
From: [identity profile] iskatel.livejournal.com
>Разбираем телефон, оголяем плату.

вполне реально.

> находим ножки процессора и памяти, цепляемся к ним.

Это уже очень непросто, современная электроника крайне миниатюрна, несколько сот контактов на процессоре, и иди знай, куда цепляться, куда питание и сколько именно.
(в них, кстати, напряжение меняется в зависимости от частоты. подашь много - сгорит, подашь мало - не будет работать).

> Отцепляем схемку памяти, оставляя возможность работы её с процессором когда надо, чтобы иметь возможность вливать в неё наш код.

Отлично.
Только вот частоты и специфика работы у нас там такие, что просто " вливать в неё наш код" , имея под рукой технику уровня прошлых эпох, не получится. Вообще.

> Анализируем обмен, находим шины адреса и данных.

У нас частоты - сотни МГц, и работа по сложным (ddr/ddr2) сигналом даже по шине памяти.
Анализировать это, имея в руках осцилл уровня 70-х гг (даже очень хороший) , почти бесполезно.
Ну, увидим фронты сигнала, почему-то немного странные, и что дальше ?

> Набираем статистику (тут надо подумать, как автоматизировать на имеющейся базе, принципиально это возможно),

Как набираем ? мы расковыряли девайс, он уже не рабочий.
Допустим, у нас очень хорошие спецы, и они могут N раз аккуратно собрать и разобрать.
Но плата - многослойная, от процессора до памяти десяток миллиметров, или оно работает, или оно отпаяно.

> по ней определяем регистровые команды и команды переходов.

Не вижу такой возможности , если смарт современный, а техника в лабе уровня 70-80-х гг.

>> При желании уже поработать вливаем код, открываем интерфейс до процессора, запускаем.

Как я писал выше, влить код в память и флэш - практически нереально.

>> Результат опять же считываем с шины. При возникновении проблем возвращаем соединение памяти с процессором.
========================================

Описанный алгоритм - хороший и рабочий, при одном ключевом допущении. (я уже писал про века и эпохи в соседней ветке)
Мы получаем устройство из ближайшего будущего, не слишком ушедшее вперёд относительно уровня техники в лабе.
Например, в 60-е гг. - микропроцессоры, платы, компы начала 70-х. и тд.

В этом случае расходы на его исследование, эксплуатацию и возможное повторение - разумны по времени и трудоемкости.

Date: 2012-01-19 11:38 am (UTC)
From: [identity profile] max630.livejournal.com
1. начинается всё с современного инженера
2. осциллографы есть, аналоговая электроника на нужном уровне есть
3. задача стоит не angry birds написать, а выполнить вычисления, в этом случае апи побоку, даже систему грузить не обёзательно, можно сразу со старта залить свой код и запустить его. Насчёт ассемблера я вообще не понимаю о чём речь. вы хотите сказать что написание кода на нём - это какая-то неподьёмная задача. Это не так.

Date: 2012-01-19 11:46 am (UTC)
From: [identity profile] iskatel.livejournal.com
Понимаете-ли, дело в том, что для того, чтобы "выполнить вычисления", нужно ещё и загрузить устройство.
Я не случайно написал выше про IO.

" можно сразу со старта залить свой код" А вы попробуйте. Будете сильно удивлены результатами экспериментов.
Понимаете-ли, все устройства I/O в современном смарте надо для начала инициализировать.
Просто так вы вообще ничего туда не зальёте. И не получите на выходе.
У вас в руках будет кирпич, вообще ни на что не реагирующий.

Это нам сейчас хорошо, потому что у нас есть документация и нужное ПО - берем и прошиваем.
Мы знаем , как это сделать.

>> вы хотите сказать что написание кода на нём - это какая-то неподьёмная задача. Это не так.

ну почему же ?
Я говорю совсем иное - писать можно, но при реализации сколь-нибудь сложной задачи процесс становится крайне длительным и неэффективным.
Поиск любой ошибки, отладка - значительно более трудоёмки. Поэтому и не пишут на асме.

Поэтому вскоре после появления первых компьютеров и стали создавать языки программирования высокого уровня.
И первые задачи (практически все) были чисто вычислительными.

Profile

vlkamov: Рембрандт. Автопортрет с широко открытыми глазами. (Default)
vlkamov

July 2025

S M T W T F S
  1 2 34 5
6 7 8 9 10 11 12
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 13th, 2026 02:40 pm
Powered by Dreamwidth Studios