fix(v5): Beta-Key mit @ kommt ganz an; Schlüssel-Stand ehrlich (rot statt „Rips laufen", nicht prüfbar ohne Laufwerk); Zeiten in Ortszeit
WAS: KEY_MUSTER nimmt alles bis Leerraum/HTML-Zeichen (der September-Key „T-…4BI@N5rPp" hat 68 Zeichen mit @; das alte Muster lieferte 62 und MakeMKV lief danach ohne Schlüssel). extractGueltigBis versteht „end of September 2026". Die Kette prüft zuerst den vorhandenen Schlüssel und lässt ihn stehen, wenn MakeMKV ihn annimmt (kein Überschreiben gekaufter Keys mehr); reg add wird auf Erfolg geprüft; 5042 ohne Lizenzzeile heißt „nicht prüfbar" statt „angenommen". Fenster: Ablehnung ist ROT mit dem Satz, dass Blu-rays dann nur noch in MakeMKVs Gnadenfrist laufen; die MakeMKV-Karte sagt, was Rippy in MakeMKVs Einstellungen schreibt. Ein neuer Werkzeug-Pfad wird sofort gesucht, ein neuer eigener Schlüssel sofort geprüft. datumKurz zeigt Ortszeit statt UTC. WARUM: Durchsicht 12.09.2026, Funde F1, F5, F12, F13 und A2 — am echten Forum-HTML und an makemkvcon ohne Laufwerk gemessen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6f1add480e
commit
12b9720386
@@ -28,12 +28,46 @@ describe('Fund 1 — „Key korrekt, aber als ungültig angezeigt"', () => {
|
||||
'MSG:1005,0,1,"MakeMKV v1.18.4 win(x64-release) gestartet","x"\nMSG:5010,0,0,"Das Öffnen der Disk schlug fehl","x"',
|
||||
)
|
||||
expect(urteil.ok).toBe(true)
|
||||
expect(urteil.pruefbar).toBe(true)
|
||||
expect(urteil.version).toBe('1.18.4')
|
||||
})
|
||||
|
||||
it('5020 allein bleibt „Schlüssel wird nicht angenommen"', () => {
|
||||
const urteil = urteilAusAusgabe('MSG:5020,516,0,"…","…"')
|
||||
expect(urteil.code).toBe(5020)
|
||||
expect(urteil.pruefbar).toBe(true)
|
||||
})
|
||||
|
||||
// 5.7.0 (Durchsicht 12.09.2026, F5): OHNE angeschlossenes Laufwerk sagt
|
||||
// makemkvcon zur Lizenz gar nichts — gemessen an diesem PC: nur 5042 und
|
||||
// 5010. Das ist kein „angenommen", sondern „nicht angesehen".
|
||||
it('5042 (kein Laufwerk) ohne Lizenzzeile heißt: nicht prüfbar', () => {
|
||||
const urteil = urteilAusAusgabe(
|
||||
[
|
||||
'MSG:1005,0,1,"MakeMKV v1.18.4 win(x64-release) gestartet","%1 gestartet","MakeMKV v1.18.4 win(x64-release)"',
|
||||
'MSG:5042,0,0,"Das Programm konnte keine verwendbaren optischen Laufwerke finden.","…"',
|
||||
'MSG:5010,0,0,"Das Öffnen der Disk schlug fehl ","…"',
|
||||
].join('\n'),
|
||||
)
|
||||
expect(urteil.pruefbar).toBe(false)
|
||||
expect(urteil.code).toBe(5042)
|
||||
expect(urteil.version).toBe('1.18.4')
|
||||
})
|
||||
|
||||
it('5051 (Testzeitraum abgelaufen) ist prüfbar und abgelehnt — auch neben 5042', () => {
|
||||
const urteil = urteilAusAusgabe('MSG:5042,0,0,"x","x"\nMSG:5054,0,1,"Evaluierungsversion. Der Testzeitraum lief vor 10 Tagen ab.","x","10"\nMSG:5051,1028,0,"Der Testzeitraum ist abgelaufen.","x"')
|
||||
expect(urteil.ok).toBe(false)
|
||||
expect(urteil.pruefbar).toBe(true)
|
||||
expect(urteil.code).toBe(5051)
|
||||
})
|
||||
})
|
||||
|
||||
describe('Schlüssel aus dem Register lesen (5.7.0)', () => {
|
||||
it('keyAusQuery liest den Wert aus reg query', async () => {
|
||||
const { keyAusQuery } = await import('../src/kern/werkzeuge/schluessel')
|
||||
const ausgabe = '\r\nHKEY_CURRENT_USER\\Software\\MakeMKV\r\n app_Key REG_SZ T-vwvnrmF87JuRPLYYO8HnIrZR_LCAF7JXs9iJEm10moGpjEgkvmPTsf6Ox4BI@N5rPp\r\n\r\n'
|
||||
expect(keyAusQuery(ausgabe)).toBe('T-vwvnrmF87JuRPLYYO8HnIrZR_LCAF7JXs9iJEm10moGpjEgkvmPTsf6Ox4BI@N5rPp')
|
||||
expect(keyAusQuery('FEHLER: Der Registrierungsschlüssel oder -wert wurde nicht gefunden.')).toBe('')
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user