powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SMS Декодирую PDU формат
13 сообщений из 13, страница 1 из 1
SMS Декодирую PDU формат
    #37051138
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Сегодня хочу поделиться кодом декодирования уже имеющего кода смс в формате PDU. Следовал инструкциям, но сначало было немножко сложновато. Немножко упростил код.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
Public Function RozshifrovkaSMS(Kod As String) As String
Dim s As String
s = Kod
Debug.Print "КОД!"
Debug.Print s
s = "079183602720000004038177F700001110013090318039B55AAD56ABD56AB55AAD56ABD56AB55AAD56ABD5142A954A212CEBD9E9311A844ED3D37650BB3E4F8F5D64753D3D2EBBEA61"
s = Mid(s,  47 )

Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
  s = DekoduvannaFF16ToBin2(s)
  s = DecoderSMS(s)
  s = DekoduvannaBin2ToAsci(s)
  Debug.Print s
End Function
Public Function DekoduvannaFF16ToBin2(Txt As String) As String
Dim b As String
Dim c As Long
Dim r As Long
Dim BN As String
  For r =  1  To Len(Txt) \  2 
    c = CInt("&H" + Mid(Txt, (r *  2 ) -  1 ,  2 ))
    BN = ""
    If c >=  128  Then c = c -  128 : BN = BN + "1" Else BN = BN + "0"
    If c >=  64  Then c = c -  64 : BN = BN + "1" Else BN = BN + "0"
    If c >=  32  Then c = c -  32 : BN = BN + "1" Else BN = BN + "0"
    If c >=  16  Then c = c -  16 : BN = BN + "1" Else BN = BN + "0"
    If c >=  8  Then c = c -  8 : BN = BN + "1" Else BN = BN + "0"
    If c >=  4  Then c = c -  4 : BN = BN + "1" Else BN = BN + "0"
    If c >=  2  Then c = c -  2 : BN = BN + "1" Else BN = BN + "0"
    If c >=  1  Then c = c -  1 : BN = BN + "1" Else BN = BN + "0"
    
    DekoduvannaFF16ToBin2 = DekoduvannaFF16ToBin2 + BN
  Next
End Function
Public Function DekoduvannaBin2ToAsci(Txt As String) As String
Dim r As Long
Dim BN As String
Dim c As Long
Dim bb As String
  For r =  1  To Len(Txt) \  8 
    c =  0 
    bb = Mid(Txt, (r *  8 ) -  7 ,  8 )
    c = c + IIf(Mid(bb,  1 ,  1 ),  128 ,  0 )
    c = c + IIf(Mid(bb,  2 ,  1 ),  64 ,  0 )
    c = c + IIf(Mid(bb,  3 ,  1 ),  32 ,  0 )
    c = c + IIf(Mid(bb,  4 ,  1 ),  16 ,  0 )
    c = c + IIf(Mid(bb,  5 ,  1 ),  8 ,  0 )
    c = c + IIf(Mid(bb,  6 ,  1 ),  4 ,  0 )
    c = c + IIf(Mid(bb,  7 ,  1 ),  2 ,  0 )
    c = c + IIf(Mid(bb,  8 ,  1 ),  1 ,  0 )
    DekoduvannaBin2ToAsci = DekoduvannaBin2ToAsci + Chr(c)
  Next
End Function

Public Function DecoderSMS(s As String) As String
 Dim i As Long
 Dim n As Long
 Dim mem As String
 Dim mem2 As String
 Dim GotKod As String
i =  1 : n =  1 
Do
 GotKod = GotKod + "0" + Mid(s, i + n,  8  - n) + IIf(n >  1 , mem, "")
 'Debug.Print Chr(Asc(DekoduvannaBin2ToAsci("0" + Mid(s, i + n, 8 - n) + IIf(n > 1, mem, ""))))
 mem = Mid(s, i, n)
  If n =  7  Then
    GotKod = GotKod + "0" + mem
    'Debug.Print Chr(Asc(DekoduvannaBin2ToAsci("0" + mem)))
  End If
  i = i +  8 : n = n +  1 : If n >  7  Then n =  1 
Loop While i < Len(s)
DecoderSMS = GotKod
End Function

запускаем функцию RozshifrovkaSMS
ремуем s = "079183602720000004038177F700001110013090318039B55AAD56ABD56AB55AAD56ABD56AB55AAD56ABD5142A954A212CEBD9E9311A844ED3D37650BB3E4F8F5D64753D3D2EBBEA61"
отключаем дебугеры

Не знаю откуда начинаются смс послания. Я нашел его вручную s = Mid(s, 47)


с уважением Андрей
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051173
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159, рад за Вас, об этом "уже имеющего кода смс в формате PDU" можно по подробней, у Вас имеется код смс в формате PDU а у меня нет
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051195
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ципихович Эндрю


Заколебал! Может хватит лезть во все топики?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051217
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос> Автор: Ципихович Эндрю


Заколебал! Может хватит лезть во все топики?


Хочу всё знать, Rozshifrovka, SMS это же интересно, может чего узнаю
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051227
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ципихович Эндрю
> Хочу всё знать

Скачай киножурнал "Хочу все знать" и просматривай

> Rozshifrovka, SMS это же интересно, может чего узнаю

Для этого совсем не обязательно лезть с коментариями в топик. Сиди и читай, что напишут. А попутно напрягай
гугл/яндекс/yahoo поиском информации об смс и как завещал великий Ленин "Учится, учится и ещё раз учится".

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051232
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос, Сиди и читай, что напишут.
А что напишут, человек сделал, выложил, мол кому пригодится, может что интересное, почему не поддержать, а если никто ничего не спросит, больше он выкладывать не будет
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051580
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопшем по скайпе я тебе по подробней все напишу.

Вопшем, подключаю телефон по RS232 определен как модем. Можно также тестировать команды в HyperTerminal. АТ команды использовал общего назначения:
при ответе без запроса RING (звонок) посылаю AT+CLCC - вызначаю номер телефона
AT+CNMI=2,1,0,0,0 - команда активации напоминаний если прийдет смс сообщение
если смс пришло прийдет ответ +CMTI: .....номер сообщения
AT+CMGR=номер сообщения - дает смс сообщение в формате PDU
AT+CMGD=номер сообщения - удаляет выбраное сообщение
Важно! настроить модем чтоб он знал откуда читать сообщения, поскольку например у меня в телефоне нет подобной настройки в меню и телефон все сообщения сохраняет в памьять телефона а на карточку, а средством АТ команд можно заставить как и сохранять куда угодно так и читать откуда угодно. По умолчанию чтения у меня было с карточки, поэтому я не мог разобраться с разшифровкой по началу, поскольку разшифрововал старое сообщение. Переключается командой AT+CPMS="ME" (выбрано памьять телефона) или AT+CPMS="SM" (карточка) Инструкция предусматривает три memory по этому рекомендуют делать запись такой AT+CPMS="ME","ME","ME" или AT+CPMS="SM","SM","SM"
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051597
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разблокируйте Ципиховича. Чем плохо что ваш форум живой. Лазить по топиках не преступление. К тому же, он кажись не нарушил правил под которые подписался. Немножко не удобно на форуме когда старые темы при новом ответе становляться первыми, но всеже терпимо. Для меня этот форум чесно, считался б не жывой и не интересен если б на нем не было 7-10 человек которые дают самые точные и умные ответы. И на других форумах в которых система покруче этого я не сижу вот по той причине, что ответа надежного могут не дать.
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051600
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

Тебе может и интересно, зато неинтересно тем, кто приходит сюда за консультацией, а видит вместо этого потоки словесного поноса.
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051601
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда себя можете перепроверить на этом сайте http://www.twit88.com/home/utility/sms-pdu-encode-decode
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051610
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это же форум , а я мечтал еще 5-10 лет назад чтоб у Вас в меню Статьи были также разделы с уже готовые решения по темах с возможными ключевыми словами для поиска того google, yandex и так далее.

Второе. На форуме не предоставлена возможность обмениваться мыслями в приват, хоть знатаков больше чем достаточно, но это может другой случай
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051656
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159Второе. На форуме не предоставлена возможность обмениваться мыслями в приват, хоть знатаков больше чем достаточно, но это может другой случай У многих "знатоков" есть почта, чем не приват.
В конце, концов оставь свои координаты с просьбой связатся с тобой определенного мембера, я не думаю, что тебе откажут. Во всяком случае диалог начнут в любом случае. Но в случае с Эндрю, диалог быстро перешел из диалога в ответы на простейшие вопросы и за год(или сколько он здесь) на диалог так и не вышел.
...
Рейтинг: 0 / 0
SMS Декодирую PDU формат
    #37051683
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно. Я по всех топках не смотрю, думал з горяча забанили. Хотя это не решение.
С уважением Андрей

P.S. Почтой почти не пользуюсь. Кому-то меня не понять. Сейчас почта у меня только для подтверждения реестрации на сайтах. Если раньше почтой было удобно пользоваться, то сегодня на почту приходит только много спама. После этого как у меня вместо dial-up-овского соединения сегодня интернет 22мб (примем) - перестал воспринимать ICQ поменяв его на Skype и совсем другие новые интересы. У кого медленный интернет, скайпом почти не пользуются и юзают то что им под силу. Единственное что нас может обьеденить - это что-то общее, проблема, ее решение, развлечение и общение - полезная информация. Одним из таких обьединений и есть Ваш форум.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SMS Декодирую PDU формат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]