|
Диагностика VAG (AUDI / Volkswagen / Skoda / Seat) | ремонт электроники Форум по работе с автомобилями группы VAG. |
|
LinkBack | Опции темы | Поиск в этой теме | Опции просмотра |
29.05.2020, 22:04 | #431 (permalink) | |
Участник тусовки
Регистрация: 23.11.2018
Сообщений: 112
Вы сказали Спасибо: 25
Поблагодарили 9 раз(а) в 7 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Russia
|
Цитата:
|
|
30.05.2020, 00:05 | #432 (permalink) |
Завсегдатай
Регистрация: 24.01.2017
Сообщений: 521
Вы сказали Спасибо: 20
Поблагодарили 453 раз(а) в 165 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Земля
|
Подвох в том , что
String sigBytesHex = "your_sign"; BigInteger sigInteger = new BigInteger(sigBytesHex, 16); иногда выдает 129 байт вместо требующихся 128 И Signature.getInstance("SHA1withRSA"); Неверно выбран алгоритм P.S Алгоритм проверки сигнатуры свапа для радара такой же, как и для гейта Последний раз редактировалось Neo_; 30.05.2020 в 00:42.. |
30.05.2020, 03:56 | #433 (permalink) |
Новичок
Регистрация: 16.03.2020
Сообщений: 25
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: china
|
1107FFFFFFFF03FFFFFFFFFF5756475A5A5A354E5A4A573336 373331320060545D35031000900810009101100092040C3DB4 D33AB313717ACB472D7A92704E181E43E03E8EA86E07CD8558 78AEC823A1830F7427B8494155515941D9362EFC7EA8AF81DB EEBA80A9D9EEB26249512333E05082B9C343401CD8D83B561A 33AFDC4B41F298D3D55F8BA929EB23400449CA7E0D1B80A96D 1346EACF5DA001A6A61D390C403F05A602026841C153A95D46
3QF ACC Change the radar VCRN FFFFFFFF I have the firmware ---------- 1107FFFFFFFF03FFFFFFFFFF5741555A5A5A4741354A413034 36303631006055B39D0210009008100092042AD27C4EACCC69 23A2693D8E4E0C0888629986418C96A643417B2C4C01B69752 45A8F81720BF7B8A892829FF5FABFEA32B0DF0FB4854EB6B78 0E745606F27FB821ED7B53DEB1D016478E4401F9893C0F2E3B BB8869A47A32325DBB5A48BDDCC572576B6F4C94C4BE9459DE 4DFB6E7E82DD6BF0E4A7C96EC8D5BDDBBDFB02C3CB 2Q0 ACC VCRN FFFFFFFF |
30.05.2020, 07:47 | #434 (permalink) | |
Участник тусовки
Регистрация: 23.11.2018
Сообщений: 112
Вы сказали Спасибо: 25
Поблагодарили 9 раз(а) в 7 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Russia
|
Цитата:
|
|
01.06.2020, 00:31 | #435 (permalink) |
Завсегдатай
Регистрация: 24.01.2017
Сообщений: 521
Вы сказали Спасибо: 20
Поблагодарили 453 раз(а) в 165 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Земля
|
5Q0907530F
Открытый ключ для функции SWaP SWaP_public_key 99 19 70 20 DD A9 1D 14 0A BB A4 90 B5 ED 09 97 32 66 86 77 B6 FC 36 C9 0F 44 99 7F 58 BF 1C 99 82 8C DD 35 B4 F5 BB 76 4F 28 2E 4A 4B AA 98 44 D5 65 19 9D 70 BD 6E 67 C7 B2 D6 C9 37 77 57 DD CE 12 D4 A1 15 32 59 88 5E 5C 05 4B C4 B9 D5 8F 18 83 0E BA 93 C1 43 56 0F A4 B6 B9 3C 79 66 8F D7 5B 33 70 34 84 1E 8E D7 AE CD B8 E6 0E 29 FC D5 60 B3 F6 EC FD E2 D3 2B 1A 7D 78 41 88 78 F9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 swap fsc 11 02 10 00 03 00 03 48 34 05 9E 80 57 56 57 5A 5A 5A 41 55 5A 45 50 30 32 32 34 37 38 00 55 4B 18 63 00 00 00 00 00 00 00 00 00 45 41 D3 C4 D2 4A 9B A1 57 31 4B E9 97 01 EA 86 2D 66 49 D0 09 1D 05 05 BD C3 7B 3A 80 1D F9 02 C7 3D 08 C8 EB A3 36 B2 48 D8 DE 7D 09 B2 64 DC CF A0 68 D1 3B E5 67 46 06 84 0D 73 FE E1 FC 31 E9 13 2A 67 7D E8 C4 3D A0 9E 93 48 B6 FD 5F 95 B2 38 11 32 83 6E F2 E7 66 54 AA 2D 57 5A FC 96 02 CB 2F AD F9 98 8F 04 4D 66 85 AA 2A DC 09 8F 48 05 37 02 95 E0 4F 68 6B A5 01 E7 6A 3A E6 3D import java.math.BigInteger; import java.security.KeyFactory; import java.security.Security; import java.security.Signature; import java.security.interfaces.RSAPublicKey; import java.security.spec.RSAPublicKeySpec; import org.bouncycastle.jce.provider.BouncyCastleProvider ; public class SignatureCheck { public static void main(String[] args) throws Exception { Security.addProvider(new BouncyCastleProvider()); String messageHex = "11 02 10 00 03 00 03 48 34 05 9E 80 57 56 57 5A 5A 5A 41 55 5A 45 50 30 32 32 34 37 38 00 55 4B 18 63 00 00 00 00 00 00 00 00 00"; byte[] messageBytes = getBytesFromHexString(messageHex); String modulusHexSpaced = "99 19 70 20 DD A9 1D 14 0A BB A4 90 B5 ED 09 97 32 66 86 77 B6 FC 36 C9 0F 44 99 7F 58 BF 1C 99 82 8C DD 35 B4 F5 BB 76 4F 28 2E 4A 4B AA 98 44 D5 65 19 9D 70 BD 6E 67 C7 B2 D6 C9 37 77 57 DD CE 12 D4 A1 15 32 59 88 5E 5C 05 4B C4 B9 D5 8F 18 83 0E BA 93 C1 43 56 0F A4 B6 B9 3C 79 66 8F D7 5B 33 70 34 84 1E 8E D7 AE CD B8 E6 0E 29 FC D5 60 B3 F6 EC FD E2 D3 2B 1A 7D 78 41 88 78 F9"; String[] modulusHexSplit = modulusHexSpaced.split(" "); String modulusHex = ""; int i = 0; for (String s : modulusHexSplit) { modulusHex += s; i++; } BigInteger modulus = new BigInteger(modulusHex, 16); String exponentHex = "03"; BigInteger exponent = new BigInteger(exponentHex, 16); RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(modulus, exponent); KeyFactory keyFac = KeyFactory.getInstance("RSA"); RSAPublicKey rsaPub = (RSAPublicKey) keyFac.generatePublic(pubKeySpec); String sigBytesHex = "45 41 D3 C4 D2 4A 9B A1 57 31 4B E9 97 01 EA 86 2D 66 49 D0 09 1D 05 05 BD C3 7B 3A 80 1D F9 02 C7 3D 08 C8 EB A3 36 B2 48 D8 DE 7D 09 B2 64 DC CF A0 68 D1 3B E5 67 46 06 84 0D 73 FE E1 FC 31 E9 13 2A 67 7D E8 C4 3D A0 9E 93 48 B6 FD 5F 95 B2 38 11 32 83 6E F2 E7 66 54 AA 2D 57 5A FC 96 02 CB 2F AD F9 98 8F 04 4D 66 85 AA 2A DC 09 8F 48 05 37 02 95 E0 4F 68 6B A5 01 E7 6A 3A E6 3D"; byte[] signBytes = getBytesFromHexString(sigBytesHex); Signature sign = Signature.getInstance("RipeMd160withRSA"); sign.initVerify(rsaPub); sign.update(messageBytes); if (sign.verify(signBytes)) { System.out.println("Signature true"); } else { System.out.println("Signature false"); } } private static byte[] getBytesFromHexString(String hexString) { byte[] buff = new byte[128]; String[] splitted = hexString.split(" "); int i = 0; for (String s : splitted) { buff[i] = (byte) Integer.parseInt(s, 16); i++; } byte[] result = new byte[i]; for (int index = 0; index < i; index++) { result[index] = buff[index]; } return result; } } Signature true Последний раз редактировалось Neo_; 01.06.2020 в 00:43.. |
Сказал Спасибо Neo_ за это сообщение: | zhengyuezhu (15.03.2023) |
01.06.2020, 10:10 | #437 (permalink) | |
Участник тусовки
Регистрация: 23.11.2018
Сообщений: 112
Вы сказали Спасибо: 25
Поблагодарили 9 раз(а) в 7 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Russia
|
Цитата:
Последний раз редактировалось Paul43; 01.06.2020 в 10:10.. |
|
02.06.2020, 23:04 | #438 (permalink) |
Завсегдатай
Регистрация: 31.07.2013
Сообщений: 561
Вы сказали Спасибо: 80
Поблагодарили 59 раз(а) в 45 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Минск
|
Друзья, такой вопрос у кодиака РФ нет распознавания пеших, как я вычитал для активации этой части нужен свап для радара, вопрос возможно ли это сделать удаленно и не нужно ли шить и параметрию новую лить в стоковый радар?
__________________
SK OCT A7 1.8 EL, AFS-IV, FLA. KODIAQ 2.0TDI |
03.06.2020, 09:48 | #439 (permalink) |
Новичок
Регистрация: 20.05.2019
Сообщений: 7
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Taiwan
Авто: Golf
|
I know some guys could generate swap code remotely but not me.
It is possible to generate your own SWaP codes if you have private key and able to put it into firmware and flash it. I think this might be difficult. Is there any way to do this? Also I think the public key might also need be signed... (this observed in 5F) Others works are simple. For example, generate swap code echo "1107ffffffff03deadbeef88544849534953414e4558414d5 04c453939005ed742470200040100023000f00" |xxd -r -p > my_swap.bin echo $(xxd -p -c 128 my_swap.bin)$(openssl dgst -ripemd160 -binary -sign my_private.pem my_swap.bin |xxd -p -c 128) |
03.06.2020, 10:34 | #440 (permalink) |
Завсегдатай
Регистрация: 24.01.2017
Сообщений: 521
Вы сказали Спасибо: 20
Поблагодарили 453 раз(а) в 165 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Земля
|
Приватный ключ не нужно помещать в блок (do not put the private key to firmware)
Public key Put to firmware only |
|
|