- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
key_base_len = random.randint(30,61)
key_base = bytearray(key_base_len)
for i in range(key_base_len):
key_base[i] = random.randint(0,255)
key = bytearray(8)
key[0] = chip_uid_chksum ^ key_base[ 4 * (key_base_len // 7)]
key[1] = chip_uid_chksum ^ key_base[ key_base_len // 5 ]
key[2] = chip_uid_chksum ^ key_base[ key_base_len // 7 ]
key[3] = chip_uid_chksum ^ key_base[ 6 * (key_base_len // 7)]
key[4] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 7)]
key[5] = chip_uid_chksum ^ key_base[ 3 * (key_base_len // 5)]
key[6] = chip_uid_chksum ^ key_base[ 5 * (key_base_len // 7)]
key[7] = (chip_id + key[0]) & 0xff
return key, key_base
Китайцы и криптография.
Сначала программатор отдаёт контроллеру key_base, а затем юзает key чтобы ксорить с ним заливаемую прошивку.
necKoB 31.12.2022 17:28 # 0
@j123123
bormand 31.12.2022 17:30 # 0
З.Ы. А вообще пишут, есть же микропитон.
j123123 31.12.2022 17:32 # +1
Но так вообще питон в урезанном виде в контроллеры давно запихивают, см. https://micropython.org/
j123123 31.12.2022 17:42 # 0
Вот жеж хуйня, нет чтобы добавить #embed как в сишечке https://thephd.dev/finally-embed-in-c23
хотя в питоне нихуя такого не добавить, потому что нет там никакого компилтайма, но почему б тупо не читать это говно из файла?
bormand 31.12.2022 17:44 # 0
А зачем? В питоне ведь можно тупо rom = open('rom.dat').read()... А тут автор хотел выебнуться и не делать отдельный файл.
З.Ы. Ещё и пожал зачем-то... Походу нулей дофига было для выравнивания.
j123123 31.12.2022 17:51 # 0
А может надо еще некую хуйню с тем файлом сделать, например развернуть порядок байт, и чтобы это разворачивание было не в рантайме, а как-нибудь заранее?
Да и в целом открытие какого-то файла и прочтение его это анскильно, лишние операции. Если прямо в ELF файл вхуярить, никаких лишних действий не нужно
bormand 31.12.2022 18:05 # 0
guest6 31.12.2022 20:42 # 0
ты забыл закрыть файл, молодец
Это не С++, тут нужно не забывать with
Soul_re@ver 31.12.2022 20:47 # +3
Support 31.12.2022 20:50 # 0
guest6 31.12.2022 20:52 # +1
Я заmmапил файл, получил direct buffer, и давай его читать. Прочитал -- и хочу его закрыть. А хуй там. Закроет его только GC когда время придет.
Я открыл 10050 файлов, и операционка меня нахуй послала.
Пришлось как-то рефлексией там подлазить и закрывать его явно
bormand 31.12.2022 20:53 # 0
3.14159265 24.01.2023 07:23 # 0
Но емнип по-моему описанный прикол с буфером на ГК уже разбирали.
И рефлексию, и что в разных версиях явы оно ещё по-разному реализовано в кишках (то есть непортабельно между jdk 7, 8 и 9) .
EDIT: вот этот пиздец ебаный
https://govnokod.ru/28254#comment779049
ISO 31.12.2022 20:50 # 0
guest6 31.12.2022 20:53 # 0
omdat это "потому что" по-нидерландски
bormand 31.12.2022 20:55 # 0
guest6 02.01.2023 19:50 # 0
К чести питоноблядяей, наиболее умненькие из низ всё таки используют os.path.join и пр. Остальные "c:\едят/говно"
guest6 31.12.2022 20:43 # +1
Я какие-то .res файлы на винде влинковывал на шестой примерно студии
HoBorogHuu_nemyx 02.01.2023 19:50 # 0
Support 24.02.2023 14:46 # 0
inkanus_gray 25.02.2023 16:14 # 0
guest6 31.12.2022 20:46 # 0
Soul_re@ver 31.12.2022 17:38 # 0
К — Криптографическая стойкость.
bormand 31.12.2022 17:39 # 0
Какой диффи-хеллман )))
guest6 31.12.2022 20:42 # 0
bormand 31.12.2022 21:05 # 0
Но вместо шифрования получился xor с ключом, вместо KDF получился тупой выбор байтиков из соли, а вместо секретного ключа в ППЗУ получился серийник чипа, который он показывает любому желающему.
Мартышка и очки, в общем.
bormanb 31.12.2022 21:11 # 0
Support 02.01.2023 20:41 # 0
Support 24.01.2023 12:25 # 0
guest6 02.01.2023 19:50 # +1
--Скажи пароль
--Пароль
--Проходи
hormand 31.12.2022 19:09 # +1
Stallman 31.12.2022 19:24 # +2
bormanb 31.12.2022 20:55 # +2
necKoB 02.01.2023 19:40 # 0
guest6 02.01.2023 19:42 # 0
```
Современная джава не сильно от плюсов отстает, потому что часто используемый код компилируется во время исполнения, так что по началу медленнее, но через некоторое время работы приложение ускоряется, да и современные сборщики мусора работают весьма шустро
```
а, ну и дурак онечно тоже, кудаж без дурака?
```
При желании можно использовать ту же библиотеку numba и код пайтона будет быстрее с++
```
---
```В реальности вместо плюсов, Go
```
ахахахахахаа, ну конечно. GC особенно полезен для разработки AAA игр
bormand 24.02.2023 09:35 # 0
А потом привыкаешь.
necKoB 02.01.2023 19:42 # 0
guest6 02.01.2023 19:47 # 0
guest6 02.01.2023 19:53 # 0
guest6 02.01.2023 19:54 # 0
TAPAC 25.01.2023 18:21 # 0