Jump to content

    
krestnick

China-Link, Вариант отладчика из Китая

Recommended Posts

On 10/17/2019 at 3:06 PM, VladislavS said:

Открываем J-Link User Guide раздельчик 18.1 20-pin J-Link connector и на 19-м пине обнаруживаем "This pin can be used to supply power to the target hardware".

Обнаруживаем что? То, что с этого 19-го пина идёт +5 вольт??? Видимо вы не изучали схемотехнику клонов, хотя бы поверхностно, для ознакомления. В клонах китайцы использую:

2. Часто (если вообще не все) клоны у китайцев на 1-м пине есть +3.3 вольта. Хотя в оригинальном линке этот 1-й пин (Vref) используется для согласования уровней повторителей и является входом питания, которое берется с программируемого процессора (его платы).

1. Бывают клоны, где перемычками на плате клоне можно выставить на 19-м пине +3.3 в. (или какое другое, по задумке автора клона).

0. Что бы не заморачиваться с дополнительным "проводком" для 1-го пина (Vref), так же на клонах бывают перемычки, что бы уже на плате клона выход с 19-го пина соединить с 1-м пинов (Vref).

Так что в целом полезно вообще всегда проверять, что там jlink (особенно актуально для клонов), выдает на 19-м пине, как вы обнаружили в юзер гайде. Подавать питание +5в на процессор с +3.3в (пусть даже последний толерантный к +5в).... просто опасно.

Share this post


Link to post
Share on other sites
1 hour ago, truevoxdei said:

Обнаруживаем что? То, что с этого 19-го пина идёт +5 вольт??? Видимо вы не изучали схемотехнику клонов, хотя бы поверхностно, для ознакомления. В клонах китайцы использую:

2. Часто (если вообще не все) клоны у китайцев на 1-м пине есть +3.3 вольта. Хотя в оригинальном линке этот 1-й пин (Vref) используется для согласования уровней повторителей и является входом питания, которое берется с программируемого процессора (его платы).

1. Бывают клоны, где перемычками на плате клоне можно выставить на 19-м пине +3.3 в. (или какое другое, по задумке автора клона).

0. Что бы не заморачиваться с дополнительным "проводком" для 1-го пина (Vref), так же на клонах бывают перемычки, что бы уже на плате клона выход с 19-го пина соединить с 1-м пинов (Vref).

Так что в целом полезно вообще всегда проверять, что там jlink (особенно актуально для клонов), выдает на 19-м пине, как вы обнаружили в юзер гайде. Подавать питание +5в на процессор с +3.3в (пусть даже последний толерантный к +5в).... просто опасно.

Не знаю, но из всех клонов, что я видел, с этим было все в порядке

(да я не рассматриваю всяческие usb-затычки, открывашки, брелки и прочую хрень со встроенным jlink'ом),

на 19-ом пине +5 вольт, идет напрямую с usb-входа, как правило через fuse, низкоомный резистор и ключ.

(хотя китайцы иногда экономят на fuse'ах, перемычки ставят)

для управления состоянием существует команда: power <On/Off> [perm]

(при наличии ключика "perm" запоминает состояние, и при включении будет сразу выставлять нужное).

Что касается VTref (пин 1), то тоже ни разу не видел, чтобы он был подключен напрямую к питанию.

даже наоборот, сам напаивал перемычку на 3.3v, чтобы лишний провод не тянуть с устройства при отладке.

В v10, к счастью, появилась возможность программно выставить нужное фиксированное напряжение на VTref, 

и для этого есть соответствующая команда: vtref <value_mV>  

 

моя коллекция

Spoiler

jlinks.thumb.jpg.4f23d84f0af9e4ad2c502edf89e12c3e.jpg

первый и последний - оригиналы

 

Share this post


Link to post
Share on other sites

заказал в терре 2 штуки J-Link V10 а получил J-Link V11.

вскрыл  серую коробочку , железо на первый взгляд тоже.

на упаковке на стикере написано V11, на плате тоже.

сделаю фотку дома -выложу. на работе нет времени.

 

SEGGER J-Link Commander V6.56 (Compiled Nov 22 2019 17:07:56)
DLL version V6.56, compiled Nov 22 2019 17:07:10

Connecting to J-Link via USB...O.K.
Firmware: J-Link V11 compiled Aug 14 2019 16:21:09
Hardware version: V11.00
S/N: 261000000
License(s): FlashBP, GDB
OEM: SEGGER-EDU
VTref=0.000V


Type "connect" to establish a target connection, '?' for help
J-Link>

Edited by Azlina

Share this post


Link to post
Share on other sites
20 hours ago, Azlina said:

получил J-Link V11.

 

Так парни на сеггере уже даже прямо пишут в ченжлоге к тому же 6.56 коммандеру о фиксах прошивки для V11. Но что-то я самой прошивки v11 не увидел в dll, хотя для v10 быстро ищется в том же dll. Относительно недавно, на своём официальном форуме отписывались что пока не планируют v11. Процессор тот же LPC4322? Интересно было бы фото платы с двух сторон глянуть, если можно.

Edited by truevoxdei

Share this post


Link to post
Share on other sites
4 hours ago, truevoxdei said:

...что-то я самой прошивки v11 не увидел в dll... Процессор тот же LPC4322?

Да есть она там, J-Link V11...

контроллер тот-же... видел где-то на каком-то китайском форуме, что китайцы прошивали V10 этой версией V11 и работало...

Share this post


Link to post
Share on other sites
4 hours ago, UniSoft said:

она там

Я не нашел. Именно секцию с прошивкой J-link v11. Возможно, коммандер прошивает секцию от J-link v10, не "трогая" (или наоборот изменяя v10 на v11). Надо будет поэкспериментировать, как и китайцы делали. Ещё бы фото платы посмотреть, что же там парни на сеггере решили поправить....

 

p.s.

Предполагаю, скоро будет боооольшой бан китайских клонов. 

Edited by truevoxdei

Share this post


Link to post
Share on other sites

он один в один по железу V10.

 

все срослось, пошевелил своей  старой серой массой.

заменил в трех местах 10 на 11

вот что вышло

SEGGER J-Link Commander V6.56 (Compiled Nov 22 2019 17:07:56)
DLL version V6.56, compiled Nov 22 2019 17:07:10

Connecting to J-Link via USB...Updating firmware:  J-Link V11 compiled Nov  8 2019 16:44:29
Replacing firmware: J-Link V11 compiled Jun  3 2017 BTL
Waiting for new firmware to boot
New firmware booted successfully
O.K.
Firmware: J-Link V11 compiled Nov  8 2019 16:44:29
Hardware version: V11.00
S/N: 261000000
License(s): FlashBP, GDB, JFlash, FlashDL, RDI, RDDI
VTref=0.000V

 

v11.jpg

IMG_0996.JPG

Edited by Azlina

Share this post


Link to post
Share on other sites
15 hours ago, Azlina said:

он один в один по железу V10.

...

заменил в трех местах 10 на 11

 

Как я и предполагал (выше написав "...изменяя v10 на v11"). Интересно, а бутлоадер сильно переписан? И для чего парням на сеггере заниматься с "новой" версией v11 ??? Или всё дело в маркетинге (как amd и nvidia часто называя свои видеокарты новым названием продают предыдущее покаление чипов)?

Share this post


Link to post
Share on other sites

boot  я не вычитывал.

я взял тот который выкладывал  здесь UniSoft.

дата производства 37 неделя 19 года

Edited by Azlina

Share this post


Link to post
Share on other sites
В 11.10.2019 в 16:50, truevoxdei сказал:

2. Очень высока вероятность бана клонов (как часто бывает в жизни, в самый неподходящий момент появится проблема с окирпиченным клоном). Первая волна повального бана клонов v10 была на версии 6.32i (если что, знающие поправят) и кирпичили второй бут.

Как я понял вычитав тему, банятся же только серийники? То есть клон вылавливается по сходной прошивке?  
Тогда это не страшно, так как просто не шить один и тот же серийник, а заменять его.

Или есть еще какие-то идентификаторы кроме серийника?
Или просто так серийник сейчас на новый не заменишь?

По прочтению темы возник такой вопрос.
Вот тут все опасаются банов, итд, итп.  А почему бы не решить проблему:

а) Просто тупо работая на одной и той же версии софта (jlink.dll) ?
Я пока что не совсем понимаю, какой смысл в том что люди постоянно её обновляют и постоянно получают проблемы
с новыми забаненными серийниками и "окирпиченными" девайсами?
Зачем постоянно обновляют? Гонятся за прогрессом?

Или сам сеггеровский софт норовит обновляться? (я пока что не замечал, он это тайно делает?).

б) Выше я вычитал о таких вещах как 
б.1 - Постоянная проверка jlink.dll основной прошивки, что используется втч и для защиты
б.2 - бутлоадер и основная часть прошивки взаимно друг друга проверяют.
И вот назрел такой вопрос. Сложно ли будет вырезать всю защиту?  Код закриптован? Найти и запатчить все места, где проверяется сигнатура, где проверяется серийник, итд. Или просто пока не нашлось такого героя? Или такие герои как раз есть и продают оное под видом JetLink? :)

Share this post


Link to post
Share on other sites
1 hour ago, std said:

Или сам сеггеровский софт норовит обновляться? (я пока что не замечал, он это тайно делает?).

Пример из жизни (жизни ещё на китайских клонах, до изумительных EDU с их патчем). Звонит знакомый (у него товарищи по работе ремонтируют приборные панели авто, перепрошивают/тюнингуют ЭБУ авто), говорит что мол можно ли перехватить на часик j-link v9, а то через весь город ехать, да по пробкам и потом обратно. Накладно, да и делов то на самом деле минут максимум на 10 имея линк по рукой. Отдал линк, ещё строго попросил версию использовать не выше определенной (какую, уже не вспомню). Вернулся линк уже мертвым... Кого винить? Потом выяснилось, что версия была с другой "буковкой". Всё ясно. Поэтому практиковать определенную версию, это как ходить по тропике знакомой, но в которую закопана мина. Можно? Да, можно. Приятно? Как повезет...

 

1 hour ago, std said:

Сложно ли будет вырезать всю защиту?

Защиту где? В dll или прошивке? Конечно, можете попробовать и там и там. Для начала CRC алгоритм по которому прошивка проверяется можно исследовать. Что я сделал первым делом. 

4 hours ago, Azlina said:

boot  я не вычитывал.

Жаль. Там бы хотелось посмотреть на бут (или хотя бы вкратце очерк, много ли "пахано" в буте от v11). Хоть заказывай в терре для "удовлетворения интереса". Прошивку даже не перешивал бы, сразу из коробки и прочитать весь full flash.

Edited by truevoxdei

Share this post


Link to post
Share on other sites

 

2 hours ago, truevoxdei said:

Жаль. Там бы хотелось посмотреть на бут (или хотя бы вкратце очерк, много ли "пахано" в буте от v11). Хоть заказывай в терре для "удовлетворения интереса". Прошивку даже не перешивал бы, сразу из коробки и прочитать весь full flash.

подсказал бы в личку, может и получилось бы прочитать боот

Share this post


Link to post
Share on other sites

О как у вас тут интересно стало. 10 лет прошло и уже новое поколение юных пионеровхакеров впихивает свои кряки за 15 штук ... я скромнее был.

Алишные 10ки на кортексе А53 проверял кто, работают? Или не париться с этим сиггером, OpenOCD + GDB ? В 10ом, как я понимаю два кортекса, софт оба использует? В старых емнип бут стирал память при несовпадении CRC с исполняемой частью, упакованной в длл, что не мешало вообще не использовать бут, просто без обновлений. Либо свой написать. Они не перекинули интеллектуальную часть частично в необновляемый блок? Вообще напоминает как с "кряком" Rigol'ов, которые сам Ригол только рад, что "раскрывают". У этих похоже подобный же спорт стал. То есть никакого AES не сделали, все по прежнему - upx - download?

Share this post


Link to post
Share on other sites
5 hours ago, std said:

Как я понял вычитав тему, банятся же только серийники? То есть клон вылавливается по сходной прошивке?  
Тогда это не страшно, так как просто не шить один и тот же серийник, а заменять его.

Или есть еще какие-то идентификаторы кроме серийника?
Или просто так серийник сейчас на новый не заменишь?

Ну что сказать, плохо вычитали тему...

Не банятся серийники (ну да, есть там несколько забаненых в dll серийников типа 11111111, ... ну и все)...

Но тут нет никакой гарантии, что не добавят позже... мало ли что им на ум придет. Тем более, что функция уже реализована, достаточно просто добавить серийник в список.

Клон можно выловить по нескольким факторам: другой контроллер + пропатчен бутлоадер, фэйковая связка (серийник + unique ID + RSA-signature).

Я уже не раз тут писал, серийник + unique ID контроллера (знаете что это?) подписаны RSA подписью... Эти 3 составляющие мертво связанны!

В клоне используется небольшой патч, который как раз таки и подменяет unique ID (как именно? ключевое слово FlashPatch...).

А так как сеггеровцы однажды просекли эту фишку, то просто, в начале прошивки добавили отключение FlashPatch'а и обнуление всех его регистров.

Отсюда и попадали все клоны.

Итак, чтобы подменить серийник, вам нужно считать всю связку "серийникunique ID + и саму подпись" с оригинального линка.

найти способ подменить unique ID программно, пропатчить бутлоадер воткнув считанные данные и добавив функцию которая как раз и подменит unique ID, ну и все.

 

6 hours ago, std said:

а) Просто тупо работая на одной и той же версии софта (jlink.dll) ?
Я пока что не совсем понимаю, какой смысл в том что люди постоянно её обновляют и постоянно получают проблемы

Ну наверное в том, что исправляют косяки...

Всю историю можно посмотреть на сайте.

А насчет "постоянно получают проблемы", ну это вы преувеличиваете... Один раз это не постоянно... :biggrin:

6 hours ago, std said:

И вот назрел такой вопрос. Сложно ли будет вырезать всю защиту?  Код закриптован? Найти и запатчить все места, где проверяется сигнатура, где проверяется серийник, итд. Или просто пока не нашлось такого героя? Или такие герои как раз есть и продают оное под видом JetLink? :)

Нет, не сложно... только вот зачем? Чтобы потом это делать для каждой новой версии?

Обновитесь новой версией и сразу кирпич будет.

Вырезать ничего не нужно, можно просто обойтись небольшой функцией добавленной в бутлоадер, и все работает и обновляется.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.