Если правильно помню глядя на код генератора паролей, там используется подход «нумерация всех возможных комбинаций», а не явное задание конкретных битов, когда определённые биты сырого пароля хранят какой-либо атрибут. Подобный же подход встречал и описывал в Pocahontas.
Есть много разных подходов к анализу, но основных не так много:
1. Анализ различий, самый простой метод, работает даже на приставке с бумагой и ручкой. Просто собираются пароли с минимальными различиями по состоянию. Например, в RRR можно выбирать одинаковую сложность, машину, цвет, но разных персонажей и записывать стартовые пароли (благо пароль доступен без прохождения чего-либо). Потом аналогично, только меняем другой параметр, например цвет машины. Тем самым можно понять в каких символах что хранится и заодно сделать предположения где же расположена контрольная сумма. В ряде игр на Sega типовой подход — алфавит не перемешан и обычно 5ти (или 4х битовое кодирование, в зависимости от длины алфавита), потому можно составить табличку в этом предположении что начальный символ алфавита это 00000, а конечный 11111 и выборку паролей сразу разобрать по битам.
2. Дизассемблирование ROM'а игры и нахождение кода генерации/проверки пароля. После чего с алгоритмом можно разобраться на уровне кода и сделать альтернативную реализацию (генератор паролей).
3. Комбинирование подходов п.1 и п.2 — например позволяет применять методы п.1 в случаях когда например алфавит реально перемешан, обычно перемешанную строку алфавита можно легко найти в ROM'е и составить правильную таблицу преобразования.
На деле достаточно много игр с типовой реализацией парольной системы и разбирать подобные однотипные системы не очень интересно. Гораздо интереснее разбирать игры с нестандартной системой, например когда длина пароля переменна как в Power Monger или Syndicate. Там уже подход из п.1 не применим и остаётся только п.2. Кроме того, часто бывает полезно потрогать «неиспользуемые» биты в паролях, иногда это приводит к забавным находкам (например Olaf в RRR или бессмертие в Stargate)
Помнится тоже разбирал пароли к Road Rash, и пришёл к выводу, что не все неиспользуемые биты совсем не используются.Так и осталось неясным назначение 2х старших битов в символе, отвечающем за мотоцикл. 2 бита позволяют кодировать значение от 0 до 3. Это значение живёт в RAM по адресу FF0522 (и копируется по адресу FF0520), считывается на заставках перед гонкой и после. В случае штрафа или аварии уменьшается на 1. Так же есть явное сравнение ячейки FF0520 с тройкой по адресу 12F9A и явная запись значения 3 в эту ячейку по адресу 14908.
Кстати, помимо разбора алгоритма и его описания в ЖЖ http://roman-pro.livejournal.com/tag/passgens, у меня как хобби ещё реализация генераторов паролей для ленивых, например на javascript к RR и RR2: http://passgens.narod.ru/SMD_RoadRash.html http://passgens.narod.ru/SMD_RoadRash2.html
Да, а право голоса за посты у большинства простых смертных в своё время отобрали вместе с обнулением https://habrahabr.ru/company/tm/blog/235137/
Тем самым все такие читатели резко побежали и стали авторами ради возврата возможности голосовать за посты перестали влиять на то, что попадает в топ. В итоге на хабре сейчас происходит примерно тоже самое, что случается при массовом отстреле хищников в дикой природе.
Как вариант, можно обойтись вообще старым телефоном (телефон соединял с компом по bluetooth и цеплялся на виртуальный COM-порт обычным hyperterminal'ом) и AT командой AT+CRSM.
Например команда AT+CRSM=176,28448,0,0,9
читает из элементарного файла 6F20 ключ шифрования Кс.
А команда AT+CRSM=176,28536,0,0,2
читает из элементарного файла 6F78 сведения о классе доступа sim-карты.
Вспоминается как в hex редакторе ломал сейвы к Diablo 2. Найти в *.d2s файле значение денег несложно, поправить тоже. Но вот как без знаний об алгоритмах чексумм и навыков в программировании поправить чексумму чтобы игра признала файл валидным? Экспериментируя с сохранениями я выяснил один факт — есть 2 типа сейвов — «обычные» и «персонаж расширения» (если установлен expansion set), за это отвечает флажок в заголовке файла. Дальше выяснилось, что если взять свой сейв который имеет тип «персонаж расширения» отредактировать его как угодно, а затем установить флажок что это «обычный» сейв, то потом можно будет попросить игру преобразовать этого персонажа обратно в «персонаж расширения». При этом (та-да!) игра не будет проверять чексумму преобразуемого файла, а в преобразованном вычислит её правильно сама! Ну а дальше всё просто, ломай не хочу. Помимо взлома денег экспериментировал с переносом инвентаря между сейвами копированием куска файла и был у меня специальный персонаж «дырокол», у которого был выполнен квест в 5м акте и в награду кузнец был готов сделать сокет(ы) в любой вещи. Ну а дальше переносил нужную вещь с основного персонажа на «дырокола», делал сокет(ы) средствами игры, далее из сейва «дырокола» вытаскивал новые байты «проколотой» вещи (вроде заголовок вещи начинался с байтов 'JN' если правильно помню) и переносил родному персонажу. А «дырокола» опять восстанавливал из бэкапа в боевую готовность к «проколу» следующей вещи.
Дааа, весело было в те времена (когда был 1й компьютер, но не было интернета), а сейчас как-то проще всё стало и не романтично — идёшь в интернет, а за тебя уже всё подумали, взломали и написали программу, да ещё и исходники выложили :)
Да, в интернет смотрят в основном домашние ip-камеры, причём что картинка с них доступна всему интернету без авторизации владельцы зачастую даже не подозревают…
Отличный смартфон! Из замеченного за пару дней использования — всё таки на моём экземляре цветопередача дисплея при изменении углов обзора слегка плывёт — в одну сторону «желтит», в другую — «синит» (возможно придираюсь после Sharp SH930W Aquos Phone в котором такого эффекта не было). Но яркость и контрастность на высоте. Так же при покупке рекомендую послушать качество разговорного динамика, т.к. на форумах на эту тему много претензий, но у меня всё ок. В остальном особо придраться не к чему (с точки зрения простого юзера, т.к. например flac'и с запредельными частотами слушать не пробовал), реально неплохое железо + есть несколько удобных софтовых фишек — включение/отключение по двойному тапу (причём в кармане как я понимаю случайно включиться он не может, т.к. судя по всему запрещает датчик приближения). Так же порадовала фича с приглушением рингтона если взять звонящий смартфон со стола и из горизонтального перевести в вертикальное положение. А ещё автоответ при поднесении к уху, правда срабатывает не мгновенно, а спустя примерно секунду, но всё равно удобно. Ну и старая добрая фича при исходящем вызове сигнализировать виброй что с той стороны подняли трубку и можно говорить.
Насчёт недостаточности 32 гб памяти есть ещё вариант с флешкой с микроusb портом, смартфон распознаёт такие, хотя это конечно уже костыль.
Так же хочу отметить что в комплекте нет наушников/гарнитуры.
И ещё к нему бывает специальный чехол QuickWindow в котором будет видна часть дисплея, где будут часы/плеер/etc. Правда в «Евросети» сказали что у них пока нет в наличии, будут недели через 2, так что пока хожу с «голым» смартфоном.
Сейчас работаю в поддержке, от программирования это далековато (хотя бывает необходимость писать/править shell и sql скрипты). В случае необходимости сменить сферу деятельности предпочёл бы криминалистику/детективную деятельность, т.к. анализ нетривиальных проблем в IT системах чем-то схож с работой сыщика. Или ещё интересный вариант — в науку — интересные области — физика, химия, биотехнологии. В идеале совместить получение вышки в области с работой в какой-нибудь лаборатории, для начала можно и на должность «ключи подавать», главное начать.
Как я понимаю это она и есть, тоже играл на сеге. Игра классная, но меня в своё время раздражала отсутствием пункта 1p (без всяких cpu в «помощниках»). Впрочем устранялось просто — запускался режим 2p, брался 2й джойстик и убивался 2й игрок до 0 жизней и больше не выкупался, тем самым дальше был честный синглплеер. А комп, выхватывающий из под носа деньги/апгрейды и уничтожающий места из которых появляются монстры и тем самым лишающий возможности пофармить монетки — зло :) Впрочем, со временем научился уживаться и со злом, а ещё лучше — играть вдвоём — веселее.
Там кстати забавная система паролей, в некоторых случаях с пароля можно иметь больше 30 жизней и 100к+ денег, вот например: ZB&P9C&&&&&F (режим 1p & cpu, 51 жизнь + мешок денег у scientist'а )
Всё никак руки не доходят доковырять алгоритм и написать генератор, т.к. там есть свои грабли именно при составлении таких «нестандартных» паролей, обычные пароли где по 30 и менее жизней генерируются без проблем.
1. Анализ различий, самый простой метод, работает даже на приставке с бумагой и ручкой. Просто собираются пароли с минимальными различиями по состоянию. Например, в RRR можно выбирать одинаковую сложность, машину, цвет, но разных персонажей и записывать стартовые пароли (благо пароль доступен без прохождения чего-либо). Потом аналогично, только меняем другой параметр, например цвет машины. Тем самым можно понять в каких символах что хранится и заодно сделать предположения где же расположена контрольная сумма. В ряде игр на Sega типовой подход — алфавит не перемешан и обычно 5ти (или 4х битовое кодирование, в зависимости от длины алфавита), потому можно составить табличку в этом предположении что начальный символ алфавита это 00000, а конечный 11111 и выборку паролей сразу разобрать по битам.
2. Дизассемблирование ROM'а игры и нахождение кода генерации/проверки пароля. После чего с алгоритмом можно разобраться на уровне кода и сделать альтернативную реализацию (генератор паролей).
3. Комбинирование подходов п.1 и п.2 — например позволяет применять методы п.1 в случаях когда например алфавит реально перемешан, обычно перемешанную строку алфавита можно легко найти в ROM'е и составить правильную таблицу преобразования.
На деле достаточно много игр с типовой реализацией парольной системы и разбирать подобные однотипные системы не очень интересно. Гораздо интереснее разбирать игры с нестандартной системой, например когда длина пароля переменна как в Power Monger или Syndicate. Там уже подход из п.1 не применим и остаётся только п.2. Кроме того, часто бывает полезно потрогать «неиспользуемые» биты в паролях, иногда это приводит к забавным находкам (например Olaf в RRR или бессмертие в Stargate)
Кстати, помимо разбора алгоритма и его описания в ЖЖ http://roman-pro.livejournal.com/tag/passgens, у меня как хобби ещё реализация генераторов паролей для ленивых, например на javascript к RR и RR2:
http://passgens.narod.ru/SMD_RoadRash.html
http://passgens.narod.ru/SMD_RoadRash2.html
Тем самым все такие читатели
резко побежали и стали авторами ради возврата возможности голосовать за постыперестали влиять на то, что попадает в топ. В итоге на хабре сейчас происходит примерно тоже самое, что случается при массовом отстреле хищников в дикой природе.http://msdn.microsoft.com/en-us/library/windows/desktop/bb648647(v=vs.85).aspx
Например команда
AT+CRSM=176,28448,0,0,9
читает из элементарного файла 6F20 ключ шифрования Кс.
А команда
AT+CRSM=176,28536,0,0,2
читает из элементарного файла 6F78 сведения о классе доступа sim-карты.
Дааа, весело было в те времена (когда был 1й компьютер, но не было интернета), а сейчас как-то проще всё стало и не романтично — идёшь в интернет, а за тебя уже всё подумали, взломали и написали программу, да ещё и исходники выложили :)
tmx0008241222.com/IMAGE.JPG
офисы:
chbox.newstar.ru/IMAGE.JPG
chel.newstar.ru/IMAGE.JPG
eburg.newstar.ru/IMAGE.JPG
kazan.newstar.ru/IMAGE.JPG
kdar.newstar.ru/IMAGE.JPG
khab.newstar.ru/IMAGE.JPG
kmv.newstar.ru/IMAGE.JPG
lip.newstar.ru/IMAGE.JPG
nnov.newstar.ru/IMAGE.JPG
nsk.newstar.ru/IMAGE.JPG
omsk.newstar.ru/IMAGE.JPG
rost.newstar.ru/IMAGE.JPG
sama.newstar.ru/IMAGE.JPG
sar.newstar.ru/IMAGE.JPG
spb.newstar.ru/IMAGE.JPG
ufa.newstar.ru/IMAGE.JPG
vgrad.newstar.ru/IMAGE.JPG
vrn.newstar.ru/IMAGE.JPG
84.234.163.77/IMAGE.JPG
lumincam.dyndns.org/IMAGE.JPG
jreina.dyndns.org/IMAGE.JPG
bugalski.net/IMAGE.JPG
hpleven-camera.pladi.bg:2004/IMAGE.JPG
81.206.249.71/IMAGE.JPG
megaplus.dragon.cz:6127/IMAGE.JPG
www.rommen.net:8080/IMAGE.JPG
70.89.172.202:81/IMAGE.JPG
78.156.143.146/IMAGE.JPG
vw-kaefer-teile.info/IMAGE.JPG
tulln.mine.nu/IMAGE.JPG
yoyo4.dyndns.biz/IMAGE.JPG
pppcam.dynalias.net:81/IMAGE.JPG
hheyna.selfhost.bz/IMAGE.JPG
a11.homeip.net/IMAGE.JPG
deliverywebcam.millerind.com/IMAGE.JPG
87.126.71.120/IMAGE.JPG
remwbci.ls.eso.org/IMAGE.JPG
gleimenhain.myphotos.cc/IMAGE.JPG
ruette.hopto.org/IMAGE.JPG
pinegrove.no-ip.biz:8080/IMAGE.JPG
195.47.194.200/IMAGE.JPG
tmx0008241222.com/IMAGE.JPG
www.4dcomp.eu:8081/IMAGE.JPG
postavaru.tln.ro/IMAGE.JPG
77.68.0.169/IMAGE.JPG
ankerla.selfhost.me:81/IMAGE.JPG
85.223.99.120/IMAGE.JPG
80.96.120.221/goform/capture
4pda.ru/forum/index.php?showtopic=393761&st=1580#entry25304114
4pda.ru/forum/index.php?showtopic=393761&st=1680#entry25321329
4pda.ru/forum/index.php?showtopic=393761&st=2860#entry25577281
Насчёт недостаточности 32 гб памяти есть ещё вариант с флешкой с микроusb портом, смартфон распознаёт такие, хотя это конечно уже костыль.
Так же хочу отметить что в комплекте нет наушников/гарнитуры.
И ещё к нему бывает специальный чехол QuickWindow в котором будет видна часть дисплея, где будут часы/плеер/etc. Правда в «Евросети» сказали что у них пока нет в наличии, будут недели через 2, так что пока хожу с «голым» смартфоном.
Там кстати забавная система паролей, в некоторых случаях с пароля можно иметь больше 30 жизней и 100к+ денег, вот например:
ZB&P9C&&&&&F
(режим 1p & cpu, 51 жизнь + мешок денег у scientist'а )Всё никак руки не доходят доковырять алгоритм и написать генератор, т.к. там есть свои грабли именно при составлении таких «нестандартных» паролей, обычные пароли где по 30 и менее жизней генерируются без проблем.