dec123ua 0 22 февраля, 2022 Опубликовано 22 февраля, 2022 · Жалоба на habr вышел материал по смене лицензии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
UniSoft 15 23 февраля, 2022 Опубликовано 23 февраля, 2022 · Жалоба 8 hours ago, dec123ua said: на habr вышел материал по смене лицензии. Ну вот видимо это и есть тот самый иуда, который подгадил всем владельцам клонов... Интересно, он хотя-бы получил свои 30 сребреников? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
std 8 25 февраля, 2022 Опубликовано 25 февраля, 2022 · Жалоба Попробую перезадать вопрос в теме непосредственно отладчиков. Кто-нибудь работал через Ethernet? Как добиться одновременного соединения под разные задачи. Например одновременная отладка под дебаггером и segger RTT (передача данных)? Под USB проблем нет. Искал-искал и не преуспел. Проще спросить. Каков протокол общения отладчиков JLink, ST-Link с камнями? Имеется в виду и аппаратный, "физическое кодирование" (USART?) и логический протокол. Где это расписано? Вопрос не праздный, требуется организовать отладочный разъем и вынос проводников суммарно будет сантиметров 30, а то и все 40. Надо понимать все грабли, что и как "аукнется". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
UniSoft 15 25 февраля, 2022 Опубликовано 25 февраля, 2022 · Жалоба 1 hour ago, std said: Каков протокол общения отладчиков JLink, ST-Link с камнями? Имеется в виду и аппаратный, "физическое кодирование" (USART?) и логический протокол. Где это расписано? Да везде расписано... Трудно загуглить JTAG и SWD? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Berger 0 26 февраля, 2022 Опубликовано 26 февраля, 2022 (изменено) · Жалоба Прочитав статью этого идиота с habr.com, мы попробовали это на практике. Я взял свой клон. Kлон имеет SN, начинающийся с 26, и все лицензии активированы, а дата компиляции прошивки изменена на 2028. и запустил его с последней версией J Link v7.62a J Link не хочет обновлять прошивку, так как по дате считает, что на устройстве она новее, чем в .DLL. Т.е. Он не сделает клона из кирпича. В окне предупреждение. По крайней мере, теоретически можно было бы использовать, например, IDA Pro, чтобы узнать, куда переходить в данное окно, и вычленить функцию, управляющую совмещением лицензии и серийного номера, путем изменения условий. Пока не будут внесены существенные изменения в прошивку или Segger не введет лучшее управление типа fw в hw, так что можно будет использовать более новую версию, чем 7.56d и использовать первое время и обновления, вставленные в DLL. Второй вариант — удалить лицензии и использовать клон как EDU, а лицензию активировать с помощью лицензионных ключей в драйверах. То есть если оригинальные кейгены еще работают Edit: В JLinkARM.dll V7.62a открывается окно функции sub_100A4640() Изменено 27 февраля, 2022 пользователем Berger Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 26 февраля, 2022 Опубликовано 26 февраля, 2022 · Жалоба Он не сделает клона из кирпича. Сделайте так ((-8Ж и несчастные обладатели кирпичей вас насмерть зацелуют (((-8Ж Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
UniSoft 15 27 февраля, 2022 Опубликовано 27 февраля, 2022 · Жалоба 9 hours ago, Berger said: Прочитав статью этого идиота с habr.com, мы попробовали это на практике. можно было и не проверять, он там все верно описал! Правда очень скомкано, мог бы и глубже копнуть. Видно еще не очень опытный. Да и уязвимости называет ошибками, хотя ошибками они не являются. Закрыть эту уязвимость вряд-ли смогут, бутлоадер ведь не обновляется. Но под-насрать им все-же удалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
COMA 1 27 февраля, 2022 Опубликовано 27 февраля, 2022 · Жалоба Мне как владельцу клона, чем это грозит? Клон российский, с известного многим сайта. Не с али. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nibelung 9 27 февраля, 2022 Опубликовано 27 февраля, 2022 · Жалоба 9 часов назад, UniSoft сказал: Правда очень скомкано, мог бы и глубже копнуть. Видно еще не очень опытный. Да и уязвимости называет ошибками, хотя ошибками они не являются. Закрыть эту уязвимость вряд-ли смогут, бутлоадер ведь не обновляется. Но под-насрать им все-же удалось. Подгадить им удалось, это да. А насчет "не очень опытный" - по видеоролику видно: 1. Сначала подключается отладчик EDU версии с OEM меткой и базовым набором лицензий; 2. Запускается некий скрипт на питоне. 3. И тут-же подключается отладчик с тем-же номером, но уже без OEM метки и с полным набором лицензий. Получается им удалось найти способ очистить XOTS и при этом не снести загрузчик и прошивку даже не вскрывая отладчика??? Или это фейк, типа сначала подключили оригинал, а потом переткнули кабель в клон (реальной железки на видео не видно)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
UniSoft 15 28 февраля, 2022 Опубликовано 28 февраля, 2022 · Жалоба On 2/27/2022 at 10:11 PM, nibelung said: 3. И тут-же подключается отладчик с тем-же номером, но уже без OEM метки и с полным набором лицензий. Получается им удалось найти способ очистить XOTS и при этом не снести загрузчик и прошивку даже не вскрывая отладчика??? Так именно это в статье и описывается... В чем проблема переписать страницу... В общем ничего сложного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Berger 0 1 марта, 2022 Опубликовано 1 марта, 2022 · Жалоба У меня было некоторое время, поэтому я посмотрел JLinkARM.dll V7.62a, так как в прошлый раз, когда мы знаем, окно о версии Pirt показывает функцию sub_100A4640 (). Сама логика, по которой кусок является или не является пиратской версией, вероятно, находится в функции sub_100AC2D0(). Функции довольно сложные, но условия для сравнения лицензий GDBFull, RDDI, JFlash и RDI видны с первого взгляда, как и переход на LABEL 44 и вызов sub_100A4640, который показывает пиратскую версию. unsigned int sub_100AC2D0() { unsigned int result; // eax int v1; // esi int v2; // eax int v3; // edx int v4; // ecx unsigned int v5; // edi unsigned int v6; // edx unsigned int v7; // ecx int v8; // eax int v9; // eax int v10; // eax int v11; // eax unsigned int v12; // esi bool v13; // zf signed int v14; // eax signed int v15; // esi char v16; // al void *v17; // eax void *v18; // eax char v19; // [esp+4h] [ebp-5E4h] BYREF char v20; // [esp+5h] [ebp-5E3h] char v21; // [esp+7h] [ebp-5E1h] char v22[4]; // [esp+8h] [ebp-5E0h] BYREF int v23[2]; // [esp+Ch] [ebp-5DCh] BYREF int v24[4]; // [esp+14h] [ebp-5D4h] BYREF int v25; // [esp+24h] [ebp-5C4h] BYREF char v26[32]; // [esp+28h] [ebp-5C0h] BYREF char Src[32]; // [esp+48h] [ebp-5A0h] BYREF char v28[256]; // [esp+68h] [ebp-580h] BYREF char v29[256]; // [esp+168h] [ebp-480h] BYREF char v30[128]; // [esp+268h] [ebp-380h] BYREF int v31; // [esp+2E8h] [ebp-300h] BYREF char v32[252]; // [esp+2ECh] [ebp-2FCh] BYREF char v33[256]; // [esp+3E8h] [ebp-200h] BYREF char v34[256]; // [esp+4E8h] [ebp-100h] BYREF memset(&dword_10DFD9E8, 0, 0x104u); sub_100A7DB0(v30, 0x80u); sub_100B5BB0(v30, &v19); if ( (unsigned __int8)sub_100AA1B0(&v31, 0, 0x200u) ) { result = sub_100AA1B0(&v31, 0, 0x100u); if ( (_BYTE)result ) return result; memset(v33, 255, sizeof(v33)); } v1 = 0; v2 = sub_10124530(&v31); v3 = 0; v4 = 11111117; do { if ( v2 == v4 ) goto LABEL_13; v4 = dword_1041D998[v3++]; } while ( v4 ); sub_100AAEE0(v28); if ( v28[0] ) { while ( 1 ) { sub_1003EE40(); if ( !sub_101250C0(v29, "GDBFull", 7) ) // лицензионный тест break; if ( !sub_101250C0(v29, "RDDI", 4) ) // лицензионный тест goto LABEL_13; if ( !v28[0] ) goto LABEL_14; } if ( !v21 ) LABEL_13: v1 = 1; } LABEL_14: v5 = sub_10124530(&v31); result = dword_107FFBFC / 0x2710u / 0x64; v6 = dword_107FFBFC / 0x2710u % 0x64; v7 = v5 / 0x989680; if ( v6 != 9 || v5 != 59100192 ) { if ( !v1 ) { v8 = 0; if ( (v7 == 26 || v7 == 5 || v7 == 82) && v6 - 9 <= 2 ) v8 = 1; if ( (v7 == 80 && v6 == 1 || (v6 != 9 || v5 != 59100192) && v8) && (sub_100AAEE0(v28), v28[0]) ) { while ( 1 ) { sub_1003EE40(); v9 = sub_10125170("JFlash"); if ( !sub_101250C0(v29, "JFlash", v9) ) // лицензионный тест break; v10 = sub_10125170("RDI"); if ( !sub_101250C0(v29, "RDI", v10) ) // лицензионный тест break; if ( !v28[0] ) goto LABEL_31; } } else { LABEL_31: v11 = 0; while ( v33[v11] == -1 ) { if ( ++v11 >= 256 ) { if ( v20 ) goto LABEL_44; goto LABEL_35; } } if ( !sub_100A4D90(58) && v20 ) goto LABEL_44; v14 = sub_100AA270(Src, 32); v15 = v14; if ( v14 >= 0 ) { v25 = v31; memcpy(v26, Src, v14); sub_10129FE0(v24); sub_1001E2F0(); sub_10021180(); if ( !sub_10021140((int)&unk_1041D93C, v22, 4u, (int)&v25, v15 + 4, (int)v33, 256, (int)v24) ) goto LABEL_44; } LABEL_35: result = sub_10124530(v32); v12 = result; if ( result == -1 ) { v13 = v19 == 0; } else { sub_10124530(&v31); result = sub_100A45B0(); v13 = v12 == result; } if ( v13 ) return result; } } LABEL_44: memset(v34, 255, sizeof(v34)); sub_10124820(v34, 1379029554); v16 = sub_1012BDC0(); sub_10124820(&v34[4], (v16 & 0x3F) + 20); sub_10124820(&v34[8], 200); sub_100AA370(v34); dword_10DFD9E8 = sub_10124530(&v31); sub_10124DE0(byte_10DFD9EC, v30, 128); sub_100AAEE0(v28); sub_10124DE0(byte_10DFDA6C, v28, 128); dword_10815088 = (HANDLE)sub_1012C090(0, 0); dword_10815090 = (HANDLE)sub_1012C090(0, 0); v17 = (void *)sub_1012D310(sub_100A4640, (int)v23, (char *)byte_10154D2D); // выводит окно с информацией о пиратской версии sub_1012C0E0(v17); v18 = (void *)sub_1012D310(sub_100A46D0, (int)v23, (char *)byte_10154D2D); return sub_1012C0E0(v18); } return result; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 13 апреля, 2022 Опубликовано 13 апреля, 2022 · Жалоба Сори, если уже было. Вчера получил такое с Ali (1005002901849127). Продавец изначально мне сказал, что официально обновляется. По факту оказалось не так. Как я понял (толком потестить не успел), серийник у него равен (-1), не обновляется, но и кирпичом не станет. Теперь продавец говорит, что обновлять не надо, должно итак работать, уточнит ещё у изготовителя. Контроллер LPC4325 в BGA корпусе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimonira 0 15 апреля, 2022 Опубликовано 15 апреля, 2022 · Жалоба После первого включения вышеуказанного JLink обнаружилось следующее. При подключении к USB эмулятора без таргета, светодиод на JLink сразу горит зелёным, будто таргет подключен, а командер показывает наличие напряжения 3.3В. При подключении таргета он на нём оказывается питание 3.3В. Оказалось, контакты 1 и 2 внутри JLink зачем-то соединены, а на контакт 2 подаётся питание с LDO 3.3/5В, выбираемое перемычкой. Пришлось порезать дорожку. После этого таргет, как и должно быть, без подачи питания не включилась от JLink. И командер не показывает наличие Vref без подключения таргета. Однако светодиод на JLink всё равно горит зелёным на JLink без таргета. Где-то ещё косяк... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 15 апреля, 2022 Опубликовано 15 апреля, 2022 · Жалоба 1 час назад, Dimonira сказал: При подключении таргета он на нём оказывается питание 3.3В. J-Link умеет запитывать подключенное устройство. Или запитывать или не запитывать. Через определённый пин. Этим пином можно управлять - конфигурировать через jlink.exe: подавать на него питание или нет. Откройте jlink.exe, попробуйте включить/выключить эту опцию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 15 апреля, 2022 Опубликовано 15 апреля, 2022 · Жалоба Однако светодиод на JLink всё равно горит зелёным на JLink без таргета. Всегда так было и на SAM-ICE, и на EDU и на JLINK-obe: отладчик штатно сконнекчен с компом, красный - это неконнект с подключённым устройством. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться