Page 1 of 1

[?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Wed May 16, 2012 3:39 pm
by anton2703
Снятие пароля на чтение/запись Mitsubishi MELSEC FX
Описание:
Данный способ работает для MELSEC FX0(S),FX0N,FX1,FX1S,FX1N(C),FXU/FX2C,FX2N(C), а так же для 3го поколения FX3U(С) и FX3G,если защита состоит только из 1го ключевого слова.

Для контроллера FX можно задать ключевое слово, которое запрашивается при записи/считывании проекта.
Ключевое слово состоит из 8ми символов, символы могут быть цифры 1-9 и буквы A-F.

Для процессоров FX3U(С) и FX3G версии выше 2.00 возможно задать 2 ключевых слова (8 символов каждая).
В этом случае данный способ не работает.

Физика процесса:
Spoiler
Show
До версии 2.00 3го поколения (FX3U,FX3G), после ввода пароля в окне запроса, контроллер передаёт
хранящийся пароль в GX Developer (т.е. сравнение введённого и заданного производится в GX Developer), поэтому при просмотре данных проходящих через COM порт программой-монитором (напр. PortMon) - пароль благополучно виден.
Для версий 2.00 и выше, при защиты 2мя ключевыми словами, после ввода пароля в окне запроса, GX Developer кодирует данные по специальному (не сильно хитрому) закону и отправляет в контроллер. Контроллер роизводит сравнение и, соответственно, присылает ответ виде 4х символов (16тиричного слова).

Ответ контроллера полностью кореллируется с дежурным регистром D8169:

H0000 Не установлено 2 ключевое слово
H0010 Только для чтения
H0011 Запретить запись и чтение
H0012 Запретить все операции онлайн
H0020 Отключение ключевого слова

(Пытался менять руками из таблицы переменных GX Developer, - не даёт=)

Введённый в окно запроса пароль кодируется всегда с использованием одного и того же кодового слова,
вот примеры моих тестов:

Пароли заданные: 11111111
22222222

Пароль введённый: 00000000
00000000

В COM Порт летит: 04070805
47854285


Пароль введённый: 11111111
00000000

В COM Порт летит: 04070805
76947394

Пароль введённый: 00000000
22222222

В COM Порт летит: 26252A27
47854285

Пароли заданные: 33333333
33333333


Пароль введённый: 33333333
22222222

В COM Порт летит: 26252A27
94B695B6

Пароли заданные: 00000000
00000000

Пароль введённый: 00000000
11111111

В COM Порт летит: 17161914
47854285

Пароль введённый: 11111111
00000000

В COM Порт летит: 04070805
76947394

Пароль введённый: 22222222
22222222

В COM Порт летит: 26252A27
65A764A7

Пароль введённый: 33333333
33333333

В COM Порт летит: 39343B36
94B695B6

В общем легко заметить, что при вводе "00000000 00000000", передаётся "04070805 47854285". Если вводить
отличне от нуля символы, к закодированному слову по-символьно добавляется разность от нуля, ну и плюс пару особенных правил, например если 1й символ будет 1 (10000000 00000000), то закодированное слово "04070805 7(!)7854285".

Собсно, двойной пароль я не победил, есть предположение, что если как-нибудь заменить ответ от контроллера на правильный (H2000), то фокус может получиться, если кто умеет пробуйте.
Необходимый софт:
Spoiler
Show
- GX Developer
- Portmon (брать здесь: http://technet.microsoft.com/ru-ru/sysi ... s/bb896644)
Пошаговая стратегия:
1.Запускаем PortMon, выполняем меню Computer/Connect Local.
2.В PortMon выбираем порт Capture/Ports/COM1 (номер порта, к которому подключен FX).
3.Запускаем GX Dveloper, в нём Онлайн/Считать из контроллера, выбираем "Парам.+Прог", жмём "Считать".
4.При появлении окна с запросом пароля в GX Developer, переходим в PortMon и выбираем Capture/Capture events.
5.Возвращаемся в GX Developer и вводим любой пароль в поле "ключевое слово 1", напр. "00000000".
6.При появлении вновь окна запроса пароля, переходим в PortMon и убираем галку Capture/Capture Events.
7.В PortMon включаем поиск Edit/Find... и вводим туда "E01800808".
8.После нахождения строчки с командой "E01800808", ниже следует пароль, в столбик, в виде символов ASCII,

пример:
Spoiler
Show
3
1 1
3
4 4
3
8 8
4
1 A
3
6 6
3
0 0
3
1 1
3
1 1

Таким образом пароль: "148A6011".
P.S. Тестировалось на FX3U,FX3G,FX2N.

Re: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Wed May 16, 2012 4:06 pm
by Oldman
при паролировании доступа к контроллерам существует тока 1 уровень доступа-это цифровой пароль из 8 цифр.
а вы про что говорите (какое такое 1е ключевое слово).
пароль вскрывается гораздо проще чем вы говорите и программ для этого куча.
тем паче эта тема уже обсуждалась на форуме. (sbutton)

Re: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Thu May 17, 2012 12:25 pm
by anton2703
Поставьте себе более новый GX Developer и Вы откроете для себя возможность запароливания 2мя комбинациями ("ключевое слово" - это метсубишин термин) из 8ми цифр или букв A-F.

Самодельные программы "нажал кнопку -> получил пароль", писанные для FX0-FX2 отсылают запрос "E00800808", поэтому для FX3 они не работают
(нужна команда "E01800808").

Когда мне нужно было решить вопрос с паролем для FX3U на этом форуме ничего работающего я не нашел, поэтому решил для страждущих выложить, то что накопал в других местах.

Re: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Thu May 17, 2012 2:15 pm
by Oldman
искали плохо.
за совет спасибо тем паче что все последние релизы софта выложены мною :D .
:lol: вам сюда http://www.melsec.ru/forum/index.php?showtopic=4698

Re: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Fri May 18, 2012 9:01 am
by anton2703
За совет - пожалуйста, обращайтесь ещё, если что-то будет непонятно))

Re: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Fri Aug 17, 2012 7:41 am
by Ryzhij
Спасибо, anton2703, Ваша методика меня выручила.

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC F

Posted: Thu Oct 03, 2013 9:14 pm
by ugrum
anton2703 wrote: Собсно, двойной пароль я не победил,
Удалось кому-нибудь победить двойной пароль (два keyword по 8 символов) от FX3G/3U ?
Только просьба, не отсылать к portmon, утилите вытаскивания пароля и т.п.. На FX3G/3U при 2-х keyword это не работает.
anton2703 wrote: есть предположение, что если как-нибудь заменить ответ от контроллера на правильный (H2000), то фокус может получиться, если кто умеет пробуйте.
Нет, это не работает. При подмене девелопер ругается, что у Вас сбои в обмене данными. (Да, CRC подправил - причина не в этом). Было бы забавно, если бы избавившись от передачи пароля в явном виде разработчики совершили такую ошибку, как передачу ответа в незапароленом виде.
Интересно, что смотря за обменом, видно, что разница в порядке обмена данными в случае если пароль есть и если его нет, наступает с того момента, как ПК отсылает запрос с первыми двумя полезными байтами "EC". так же интересно, что последующее содержимое запроса каждый раз разное. и ответ всегда разный. То есть отправляем каждый, например, пустой пароль и каждый раз посылка новая.
пример

Code: Select all

2->1 (00011)EC 1E DC A2 4C 5 (!) 1->2 (00008)30 B8 F2 16
2->1 (00011)EC 28 70 21 91 1 (!) 1->2 (00008)94 EF D3 D2
2->1 (00011)EC 22 DA 74 17 D (!) 1->2 (00008)E3 99 6C 09
2->1 (00011)EC 17 A4 3F BE 2 (!) 1->2 (00008)C1 8A F2 79
2->1 (00011)EC 12 0A 1D CB E (!) 1->2 (00008)96 88 0B 52
2->1 (00011)EC 31 3D 79 91 4 (!) 1->2 (00008)00 AA 65 36

Установить кукую-то систему не удалось. Похоже ПК закодировано запрашивает, или передаёт хэш, состояние запаролинности ПЛК. Тот отвечает, опять же зашифровано, что да пароль есть (даже 2) и далее при подмене ответа на запрос E0 08 15 20 2 на 0000 или 2000, в ПК происходит "не контакт" - типа по этому запросу закодировано, а по этому - нет. И он интеллигентно предполагает, что это из-за неполадок со связью. Ну, в общем он прав :)

anton2703 wrote: В общем легко заметить, что при вводе "00000000 00000000", передаётся "04070805 47854285". Если вводить
отличне от нуля символы, к закодированному слову по-символьно добавляется разность от нуля, ну и плюс пару особенных правил, например если 1й символ будет 1 (10000000 00000000), то закодированное слово "04070805 7(!)7854285".
не совсем верно. Ну, то есть идея верная. Есть база, и посимвольное изменение в зависимости от отличия от 0. Да, это предположение верно. Но только там не разность добавляется. Там интереснее. Во первых изменение в, например, последнем символе второго слова изменяет вовсе не последний символ кода. Во вторых, разные символы изменяются по разному: к одним, например, прибавляется разность, а от других вычитается. Есть и более сложные вычисления. Но в целом сопоставить это не сложно. Только без толку. Если установить правило кодирования/декодирования - что это даст? программа перебора пароля в 16 цифер по СОМ порту будет работать вечно.

В общем единственный вариант - попытаться убедить девелопер, что пароля нет. Но не факт, что сделав это, мы получим результат. Поскольку ПЛК, то знает, что пароль ещё есть и может запросто не отдать ничего, не смотря на все просьбы ПК.

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC F

Posted: Thu Dec 01, 2016 6:21 am
by perial
anton2703 wrote:Снятие пароля на чтение/запись Mitsubishi MELSEC FX
Спасибо, anton2703. Данный способ помог решить проблему снятия пароля с контроллера FX2U.
Только вместо PortMon (не идёт на Windows7 x64) пришлось использовать AccessPort.

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Tue Dec 31, 2019 2:58 am
by msnmax
Здравствуйте помогите пожалуйста снят пароль Mitsubishi MELSEC FX для 3го поколения FX3U. СПАСИБО !!!!!!!!!!!!!!!

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Fri Aug 21, 2020 3:54 am
by happy_ceo
Доброго времени суток!
Запоролил проект в GXWorks2, наизменял кучу всего и не записал пароль в тетрадку. Как удалить пароль не подскажите?
Вроде защита организована через xml файлы, но их просмотр ничего не дал. (oo)

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Fri Aug 21, 2020 12:20 pm
by Toms
Сетевая ссылка проекта GXWorks2, есть шанс попробовать восстановить пароль или в худшем случае удалить пароль

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Tue Oct 11, 2022 9:56 am
by yuryur
Камраден, помогите побороть пароль FX3U из двух слов.
Станки стоят, производитель не отдает пароль принципиально. Их наладчик приехать не может. тупик

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Tue Oct 11, 2022 11:59 am
by andreyit
yuryur wrote:
Tue Oct 11, 2022 9:56 am
Камраден, помогите побороть пароль FX3U из двух слов.
Станки стоят, производитель не отдает пароль принципиально. Их наладчик приехать не может. тупик
Не так и сложно пароль на fx3u изменить.
Но у вас же еще панель оператора...

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Tue Oct 11, 2022 12:01 pm
by yuryur
andreyit wrote:
Tue Oct 11, 2022 11:59 am

Не так и сложно пароль на fx3u изменить.
Но у вас же еще панель оператора...
1. Подскажите как изменить? Исходного проекта нет.
2. Как мне поможет панель оператора? Для нее тоже исходного проекта нет

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Tue Oct 11, 2022 12:54 pm
by andreyit
yuryur wrote:
Tue Oct 11, 2022 12:01 pm
1. Подскажите как изменить? Исходного проекта нет.
2. Как мне поможет панель оператора? Для нее тоже исходного проекта нет
1. Здесь расписать не могу.
2. Для диагностики почему стоит оборудование, проект панели тоже бывает нужен. И уже зависит он какого производителя панелька...

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Sun Mar 12, 2023 2:31 pm
by yuryur
yuryur wrote:
Tue Oct 11, 2022 9:56 am
Камраден, помогите побороть пароль FX3U из двух слов.
Станки стоят, производитель не отдает пароль принципиально. Их наладчик приехать не может. тупик
Вопрос все еще актуален. Кто может - помогите плз

Re: [?+]: Снятие пароля на чтение/запись Mitsubishi MELSEC FX

Posted: Wed Jun 14, 2023 4:43 am
by mrmitsubishi
hi
i can unlock all plc mitsubishi (FX1N , FX1S , FX2N , FX2NC , FX3U , FX3G , FX3GA , FX3S , Q00CPU , Q01CPU , Q02CPU , Q02UCPU , Q02HCPU , Q03UDEVCPU , ....)and some hmi mitsubishi
Some of them are free :D (such as fx1s, fx1n, fx2n, f920, f930 ,f940 and ...)
https://www.rsgroup.ir/