Автор |
Сообщение |
|
Дата: 20 Авг 2019 23:22:33
#
Нужна помощь с идеей как расшифровать файл. Файл предназначен для раскрытия диапазонов, на которых может передавать в эфир радиостанция.
Радиостанция Flex-6400 с номером 3918-0512-6400-6259 (в третьей части номера присутсвует модель 6400)
Программа SmartSDR четко понимает что этот файл предназначен именно для радио с этим номером, т.е. внутри зашифрованных данных где-то имеется и размазанный зашифрованный номер станции.
В файле должны быть некие данные, говорящие в каких частотных участках радиостанция может выходить на передачу.
Сам файл
имя "FLEX-6400_3918-0512-6400-6259.turf"
содержимое
#
# (C) FlexRadio Systems 2010-2018
#
# Upgrade File for FLEX-6400
# Valid only for serial #3918-0512-6400-6259
#
7D*KS3^qO1:XqVB>8qobM5yP{43EPB3XbA<JBz8^oby!+rzHz/NN?~P59X8{Lo4azLsJ~~e0SKY5GEm[
N{V!DUPIDIj0qI<S=DG/^H$e+YKR^VKHDI6y?Bs~SHCM!P8Yj[QBQm^zeC4s*}mG:qD?2yA8L]KzL?1z
0ES!{L^7Y={FMs2Oe7jjT!$m/JV~UzBjHr*$6]YmHPY8Wy40z:1S<e/]?5AKDB*0B4=/*$G7V8Z3MWM0
A[H+Ec{$7*^+=qVYZI5YUbV/I[2GZM$o8NmJHzV~JB/IVjHIbH]E39r8?[9Y=rOPOIa~^I1CzUqZ+a48
[NRR5m]O21q+MCS~LLaBL65b}AsTEFs}A9J0NS^$PD0H!!s{O5s{>!~6qyZY=^]S}yGGT/By2/}<=$3W
5L49!:G^D?sOo=OOVT9o}[N9bGs>rMVNPo6s2MR<aPC$]{/A<}=NKHs+2<*19ajMy3OH9I{}XFy}<qVs
~o/r5eESTSTcRPmczT}4OD^4}VSbOFU+XQX73sOH2ZHQF^9ZYcr2yIXeQN$cy/5zo*T9szNoIEA3*0JK
8!y^9H[B13^VVBH]QLQ$EK22b2^Jz1{31e~^[L5C!Qq8O{y9!:6bZCP0XL=T6WayLVYy+]GA{^XqXa$Z
GyZCTa]^ScMmy[*MSbQz+X32V9bA3>=2q/sUQo!}$FoWN93*V=UTrUm4?>q=46s74$sX!z^7QH~Q/M!=
9?Fe/:?/[mOGOIVz==2Vjb3P90=2J8~+*=[X4M6NeI2ByjCs^2LRA*zX=FQW*O>$yqKO~YYyHzWG0GX0
+y0[L1MS=X*7XFCzB4Vb]^[6FJm3EVP64Y<5z^!8VOaRGGJ*J8X37b2M4s:VSXPY~ZFEF3W5q>U?S8J^
msRq7bBW:eOJ4^9?a}}Ce*Y=KN*T87*zCY^9[cABO*jHXeb2CEb*:~jC?M!~]OHr}mYNz15BX3CC6M!S
BS]RIL~rcEXS/>ZL3A5SHzPM}Y33=X8Lqc?ss=W37?!m<}U{Amz}7!SbbmbNo4z8TeaR}7z2:WPXbSB}
XqYY+TPc9ab[>FQ8ME:sNSjjJH}b!4M}OzDWU?Ur]Q{Wz*6T^BB}OJYHCJWzybK<QG+/4K**W*6Ja8WH
Q<7{8?OC44X>zEa!mRNFF]T]E$J:D]VqH0C5:F3E!54!r{Q!q9W?e:*FRVG9LFe*D4zr:m0m1*S*EIz{
=KE{TB$/aQb^S+PWS3BG+$83+zX+P2e$ocUAMTG0J26034=8*oK]XmQ=]O^O3>/r8TMcjN9WCPG/VN+Q
q507QK98q6MoIm+E9ZWWG<^/1Dz8*Q?+I<Vo*3T74SUrTYAz6eK5J>=RI$Qqj{U<DN8]I1OF:$I2E7a:
m$CE]XV+1XK86Sbm}=:qDm1q7DHbL*?LbRNoEDqa3>L1]4[4$CcbJo<U5[K*US?GHr2}/1}^yHoLNHz~
o4b[oAJr*z9*7}s~I:IX?4qHbqYaIFT{c[A>W{$X3<y6^LX[F??OM23{[IT1OKFbM1+MY}/T$>}$<BS=
m8}9D66XA?GD^!T*1me//8mZ]G6BTyo*:KVP?oP]bCGYS?B/KXBX$mDNAOP}q7BV8/K}sZa8[e+zVqA2
7He8+c79yRNA~>4*[0XMzWDGEW]W=OOK~o$JYP2XVEUjBr2^>CVXyj<0yms^V5C]DKz~V4A}S$HHJjHR
mTZ0Rz}y$76AN$QDE1:e]9IKe+$E$KKAH}9AP*OK8*OO6Y*KcsJ=GDG6U0Ksz~a2sOF35aT!+<rRVO9+
22mHW3URK$G*eS+c1qFbs!/K759XWyIZ*0<=/rTaYB[~REJYEj*5FT*4M?[2a~TsOZ*C0CAYEB}s0UJJ
J{bPabPZmzc!WoUEDNXR/~B60UWjY>a+VTJ^jzEQyDFBDNUA3LCcE6D+WJo=GcqJa=<FGVbyOG:3S5z{
1RM+CG7IjrJ:7MSY:IAG/cF=VO=8K}<A<=/YGS]^?0T5NV!*zM598r^~USUyE5Cb<]33[XRJq:W0s4Xy
*b^0:j$z$UUI/{!1+O2Ez/ZBUz~9K]!r3$LTV4LV}A6Mz>[J*Js7Gj0Q
Из содержимого понятно что это нечто похожее на base64 строку, но куда двигаться дальше я не понимаю. Сам программист, смогу как то программно это пробовать расшифровывать, но куда двигаться не знаю. Помогите идеями пожалуйста.
|
|
Дата: 20 Авг 2019 23:24:46
#
|
Реклама Google
|
|
|
Дата: 21 Авг 2019 00:49:53
#
rn3kk
Бессмысленное занятие. Ключ шифрования очевидно привязан тем или иным образом к серийнику. Надо пихать файл в станцию, для которой он предназначен, и снимать дамп ОЗУ.
|
|
Дата: 22 Авг 2019 11:25:49
#
Понятно. А так хотелось.
Внутри станции стоит процессор со своей ОС (какая не знаю, запускается с мелкой флешки)
Можно попробовать взять флешку и на ней поискать этот ключ шифрования?
А как поняли что зашифровано ключом?
|
|
Дата: 22 Авг 2019 11:54:32
#
Из содержимого понятно что это нечто похожее на base64 строку, но куда двигаться дальше я не понимаю. Сам программист,
Посчитайте количество символов в алфавите вашего "сообщения" (их там ровно 64) и попробуйте прикинуть, какие замены надо сделать, чтобы получить привычный base64. Ну а дальше - как повезёт.
|
|
Дата: 26 Авг 2019 12:53:59
#
|
|
Дата: 27 Авг 2019 10:56:19
#
Немного сдвинулись.
В систему добавили пользователя. Радио грузится. Можно подключиться по SSH и покопаться внутрях, посмотреть какие процессы запущены.
|
|
Дата: 27 Авг 2019 14:06:53
#
путем дизасемблирования получилось из turf файла считать первые 8 цифр серийного номера из каши символов. Строки начинающиеся с сивола # пропускается при анализе. Видно что данные перемешаны случайными последовательностями. И нет никакого шифрования. Все построено на сдвигах и случайных цифрах!
|
|
Дата: 27 Авг 2019 16:05:26 · Поправил: wazzoo (27 Авг 2019 16:06:15)
#
rn3kk
Видно что данные перемешаны случайными последовательностями. И нет никакого шифрования. Все построено на сдвигах и случайных цифрах!
Осталось выявить закономерность. То, что не применена более сложная шифрация - сильно упрощает задачу
А как поняли что зашифровано ключом?
Это предположение я сделал из того, что файл привязан ключом - т.е. логично использовать серийник в составе ключа шифрации. Но разработчики действительно могли и не заморачиваться - а просто вписать серийник вместе с другими данными в шифрованную последовательность, которая шифруется одним и тем же алгоритмом/ключом
|
|
Дата: 27 Авг 2019 19:36:15 · Поправил: rn3kk (27 Авг 2019 19:37:30)
#
ну что, есть новости по turf файлу, внутри
-блок рандома
-блок црц
-блок рандома
-блок с серийником
-блок рандома
-блок данных
-блок рандома
-конец
В блоке данный фигня вообще
адрес в епром =381
данные = 14
Так же ковыряю БД. Пока свести одно с другим не получается.
Есть и другие turf файлы, посмотрю что за данные в них
|
|
Дата: 27 Авг 2019 19:37:03
#
да, серийник получилось полностью считать из turf файла
|
|
Дата: 28 Авг 2019 11:35:21 · Поправил: rn3kk (28 Авг 2019 11:45:57)
#
И так. Открыл два других turf файла. данные там те же самые что и у меня, кроме серийников.
Открыл исполняемый файл smartsdr (который работает на борту радио). Там в отношении turf файлов увидел команды по записи в eeprom связанные с регионом. Как достучаться до eprom пока не ясно.
|
|
Дата: 28 Авг 2019 17:31:21
#
|
|
Дата: 28 Авг 2019 22:40:59
#
|
|
Дата: 29 Авг 2019 09:04:30
#
Пробовали. Это софт для старых версий. Его и ковырял.
|
|
Дата: 29 Авг 2019 13:37:35
#
удалось установить gdb
|
|
Дата: 30 Авг 2019 10:55:07
#
Нашел в бинаре функции
_load_bandData.part.10
band_initVIndex
bp_isValidBandForRadioModel
vbp_setSliceMode
vbp_setPanBandwidth
ctrl_xmit
ctrl_txTune
ctrl_tx_setRFPower
region_transmitOK
region_transmitRangeOK
serialGet
Установил точки останова под gdb. При наступлении события приложение крашится.
Как можно прям в бинаре сделать чтобы функция всегда выдавала true? region_transmitOK ей бы сделать return true
|
|
Дата: 30 Авг 2019 14:28:50
#
получилось из gdb перевести радио на ТХ (на обычном диапазоне)
|
|
Дата: 30 Авг 2019 16:57:03
#
|
|
Дата: 30 Авг 2019 18:56:50
#
нашел в gdb вызовы функций при помощи которых получилось изменить регион(это изменило частоты где может работать передатчик). в некоторых случаях, когда регион был не определен передача была запрещена везде.
|
|
Дата: 02 Сен 2019 04:31:08 · Поправил: xin (02 Сен 2019 05:34:03)
#
Пробовали. Это софт для старых версий. Его и ковырял.
В новых версиях просто длина серийника увеличилась с 9 до 19 символов.
Ваш turf расшифровывается как :
MODEL: 6400
SERIAL: 3918-0512-6400-6259
EEPROM_ENTITIES_COUNT: 1
[0x17D] = 0x0E
CRC: 0xDBCA958E
Я как понимаю запись в ячейку EEPROM по адресу 0x17D значения 0x0E устанавливает, например, регион RUSSIA.
Частотные участки диапазонов для каждого региона запрограммированы уже в PowerSDR.
Поковырялся в smartsdr, нашел таблицу регионов (0xE = RUSSIA), нашел таблицы частот для каждого региона в соответствии с которым region_transmitOK выдает true или false.
Вам чего нужно добиться то?
|
|
Дата: 02 Сен 2019 10:39:21
#
xin спасибо
Да, турф я расшифровал, но он оказался не нужным.
Про EEPROM и адрес верно, я хотел уже было выпаять его (EEPROM) и отвезти на программатор, снять дамп, но нашел иной способ изменения этой ячейки с регионом.
Мне нужно дать радио возможность передавать везде, а не только на любительских участках. Менять регион без turf файла у меня получилось.
Можете подсказать, там среди регионов должен быть что-то вроде MARS ( аля американский досааф). Какой у него номер и какие частоты?
Если я задаю регион которого нет ( UNKN ) то радио нигде не передает, т.е. передача запрещена вообще.
Если можно, на почту скиньте пожалуйста инфо чем мне правильно открыть smartsdr чтобы это увидеть (rn3kk.nick@gmail.com)
|
|
Дата: 02 Сен 2019 11:57:14
#
Открыл smartsdr при помощи hexdump, увидел константы регионов
RUSS
EU01
AUS
и т.д.
но где лежит соответствующий им целочисленный индекс не понимаю
|
|
Дата: 02 Сен 2019 12:51:02
#
Если можно, на почту скиньте пожалуйста инфо чем мне правильно открыть smartsdr чтобы это увидеть
Универсальный ковырятель всего и вся это IDA Pro Disassembler
В данный момент по торрентам ходит её версия 7.1
Информацию по регионам и их частотам опубликую завтра.
На вскидку, передача во всем участке без изменения файла smartsdr невозможна, но надо более тщательно посмотреть.
|
|
Дата: 02 Сен 2019 12:56:49
#
xin
Понятно, спасибо. Попробую скачать.
Пока все еще не верю что нужно править сам бинарь, т.к. на сайте производителя описана процедура раскрытия для MARS лицензии. После сдачи соответствующих документов (экзаменов) они выдают TURF файл который разблокирует частоты передачи. Так что буду копать дальше.
Буду признателен за таблицы
|
|
Дата: 02 Сен 2019 13:51:48
#
Я в таблице MARS регион видел, но там по-моему было тоже 3-4 диапазона частот где трансивер работал т.е. не было полного перекрытия частот.
|
|
Дата: 02 Сен 2019 17:36:24
#
выписал несколько соответствий
код = регион
0 = USA
1 = EU01
2 = EU00
3 = EU02
4 = EU10
5 = EU03
7 = EU08
14 = RUSS
19 = EU12
там они дальше продолжаются, есть значения UNKN (тут передача нигде не работает), а вот число соответствующее ULCK я найти не смог. Если найти это число, можно попробовать просто его задать в еепром и посмотреть что получится.
|
|
Дата: 02 Сен 2019 19:11:23
#
rn3kk
Нашел на борту микросхему еепром 24c64wp. Как то нужно ее задампить и клонировать на всякий случай.
Программатор на CH341, он практически любые еепром пишет/читает, куча софта для него на 4пда есть, там же ещё куча инфы по работе и доработкам данного программатора. Хотя если вам только 24хХХ то можно ничего не дорабатывать. |
|
Дата: 02 Сен 2019 21:02:55
#
Еепром пока не трогаю. Хочу попробовать изменить границы в таблице диапазонов когда приложение в работе, т. Е. В памяти по адресам изменить значения, не меняя бинарник. Завтра наверное проверю.
|
|
Дата: 03 Сен 2019 06:06:34
#
|
Реклама Google |
|