Hogyan kell dekódolni a titkosított kódot pl

Néhány információval kiderült, hogy nevetségesen könnyű, annak ellenére, hogy sok időt töltöttem az online csomagoláson.

Először is azt mondom, hogy az Oracle 10-12 verzióról van szó, azaz. összhangban e témával, a kód elején kell

CREATE OR REPLACE FUNKCIÓ A SomeFunc csomagolás
a000000
ab
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
12a
Sh + 9JFcaiH9SAzc5qQFSernIHO0wgwHIAMvWfHQCmPFekSaibNtEdebgxQw6NfSIfaN / fPXe
vp2rEQ4m / PpCkpt + nUhL8VCTHFl1bwAki0M9JMH420KT50MU8AC4oHph5jyJiRgDZj2ea5Lp
.

Nem lehet megpróbálni dekódolni a fentieket, ez például szemetet. Ezzel minden szükséges kódot kihúzhat.

Ezután menj le az 1a2 12c sorra. A legegyszerűbb esetben a második 12c számot vesszük, amely a 10. számrendszerre fordítva 300, és a dekódolásra szánt string hosszúsága. Ne felejtsük el, hogy ez a hossza a vonalnak, figyelembe véve a vonalszakadást, amely nem lehet a dekódolt vonalban, és minden vonalnak meg kell határoznia a vonalat! Majdnem feladtam, amíg meg nem találtam ezt a kocsit. Az algoritmus egyszerű, kövesse az alábbi lépéseket az "1a2 12c" vonalra, ha hossza kisebb mint 300 (esetünkben), majd hozzáadjuk hozzá a következő sort, stb. amíg nem kapjuk meg a kívánt hosszúságú vonalat, és emlékezzünk arra, hogy minden egyes sor, amelyet hozzáadunk, hosszabb, mint egy sorszimbólum.

Az eredmény egy hosszú, természetesen titkosított Base64-ben. Ennek megfelelően szükség van a Base64-> UTF-8 dekódolására.

Kiderült, elég érdekes, szemetet, hogy csonka a 20. karaktert, elvágva információ SHA-1, és kapunk egy olyan sort, hogy átkódolhatóak összhangban keresési táblázat helyett néhány karakter a karakterek a táblázatban. Ezt nyilvánosan találtam, ennek megfelelően semmi sem akadályozza meg abban, hogy ugyanezt tegye.

Ezt követően, továbbra is kicsomagolni a sort ZIP (használtam a szokásos zlib_decompress) és voila, kapott egy tiszta forráskódot.

A dekódolás során a legérdekesebb és sajnos elhagyott blogot használták.