All Projects → ludwig-v → psa-seedkey-algorithm

ludwig-v / psa-seedkey-algorithm

Licence: GPL-3.0 license
PSA/Stellantis (Peugeot, Citroen, DS, Opel) Seed/Key Algorithm to unlock ECUs configuration and download

Programming Languages

C#
18002 projects
PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to psa-seedkey-algorithm

PSA-RE
PSA (Peugeot/Citroen/DS) electronics architecture reverse engineering.
Stars: ✭ 44 (+29.41%)
Mutual labels:  psa, citroen, peugeot
PSAVanCanBridge
VAN - CAN protocol bridge (V2C) for cars made by PSA Group (Peugeot, Citroen)
Stars: ✭ 67 (+97.06%)
Mutual labels:  psa, citroen, peugeot
Go Ethereum Hdwallet
Ethereum HD Wallet derivations in Go (golang)
Stars: ✭ 178 (+423.53%)
Mutual labels:  seed
svelte-box
A truffle box for svelte
Stars: ✭ 60 (+76.47%)
Mutual labels:  seed
javascript-seed-project
Seed project for JavaScript based apps. Just clone and code.
Stars: ✭ 17 (-50%)
Mutual labels:  seed
Angular Seed Advanced
Advanced Angular seed project with support for ngrx/store, ngrx/effects, ngx-translate, angulartics2, lodash, NativeScript (*native* mobile), Electron (Mac, Windows and Linux desktop) and more.
Stars: ✭ 2,279 (+6602.94%)
Mutual labels:  seed
sapper-authentication-demo
A demonstration of Auth with Sapper + JWT + Server Side Rendering + RBAC
Stars: ✭ 102 (+200%)
Mutual labels:  seed
Seedsearcherstandalonetool
Minecraft, searching numeric seeds for specific features/biomes
Stars: ✭ 165 (+385.29%)
Mutual labels:  seed
angular5-starter
⭐ An Angular5 Starter Kit :: Router, HttpClient, Forms, Services, Dev/Prod, HMR, Async/Lazy Routes and a very good structure for large applications by @naologic
Stars: ✭ 54 (+58.82%)
Mutual labels:  seed
rails-multi-environment-seeding
Example of using seeds in rails app
Stars: ✭ 13 (-61.76%)
Mutual labels:  seed
sequel-seed
A Sequel extension to make seeds/fixtures manageable like migrations
Stars: ✭ 25 (-26.47%)
Mutual labels:  seed
jsrand
A seeded pseudo-random number generator for JavaScript.
Stars: ✭ 19 (-44.12%)
Mutual labels:  seed
Elm Examples
📖 Practical examples in Elm
Stars: ✭ 208 (+511.76%)
Mutual labels:  seed
ui5-webcomponents-react-seed
Seed of UI5 Web Components for React
Stars: ✭ 12 (-64.71%)
Mutual labels:  seed
Angular Library Seed
🌾 Seed project for Angular libraries that are AOT/JIT compatible and that use external SCSS-styles and HTML-templates
Stars: ✭ 197 (+479.41%)
Mutual labels:  seed
metal-seed
🤖🌱 An Apple Metal starter repo that you could use to get the ball rolling.
Stars: ✭ 32 (-5.88%)
Mutual labels:  seed
Tsmean
Typescript-mysql-express-angular-node seed for your next web-app!
Stars: ✭ 173 (+408.82%)
Mutual labels:  seed
daily-coding-problems
Solutions to the daily coding problems
Stars: ✭ 51 (+50%)
Mutual labels:  ds
dust
A DS emulator written in Rust
Stars: ✭ 56 (+64.71%)
Mutual labels:  ds
enterprise-angular-seed
Angular CLI based seed application incorporating many best practices typically needed in Enterprise apps.
Stars: ✭ 62 (+82.35%)
Mutual labels:  seed

PSA Seed/Key Algorithm

PSA Seed / Key Algorithm can be found by various ways, here is one: analyzing assembly from NAND dumps of various ECUs and searching for functions matching

Partial copy of assembly code extracted from CIROCCO:

.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060C0 sub_423060C0                            ; CODE XREF: sub_42306030+1A↑p
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060C0                                         ; sub_42306030+40↑p
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060C0                 MOV             R1, #0xB92143FB
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060C8                 SMMUL.W         R1, R1, R0
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060CC                 ADDS            R1, R1, R0
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060CE                 ASRS            R1, R1, #7
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060D0                 SUB.W           R1, R1, R0,ASR#31
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060D4                 MOVS            R2, #0xB1
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060D6                 SMULBB.W        R2, R1, R2
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060DA                 SUBS            R0, R0, R2
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060DC                 MOVS            R2, #0xAB
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060DE                 SMULBB.W        R0, R0, R2
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060E2                 SUB.W           R0, R0, R1,LSL#1
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060E6                 SXTH            R0, R0
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060E8                 CMP             R0, #0
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060EA                 ITTT LT
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060EC                 MOVLTW          R1, #0x763D
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060F0                 ADDLT           R0, R0, R1
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060F2                 SXTHLT          R0, R0
.DNH_DNB_CLIENT_IMX6S_appli.elf.RO:423060F4                 BX              LR

Each ECU has his own key, which can be found inside calibration files or using bruteforce to find matching key using a couple of seed/key pairs generated from official diagnostic tool - which is very fast to do because ECU key is only 2 bytes long -

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].