Zpět na článek

Diskuze: Chcete zničit iPhone? Stačí, abyste změnili datum

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Teorge
Teorge
Level 1 Level 1
14. 2. 2016 09:06

Komentáře tohoto uživatele máš zablokované.

Žádný firmware se nepoškodí. Údajně stačí odpojit nebo jednodušeji nechat úplně vybít baterku.

Další chyba ve článku je, že telefon zapíše po změně hodnotu menší než nula, to by to potom dělalo i u 32bitových iPhonů.

Čas se v tom systému ukládá ve formě uběhnutých sekund od 1.1.1970. Protože nejde v telefonu zvolit nižší datum, tak je pravděpodobné, že se k ukládání nepoužívá proměnná se zápornými hodnotami. S hodnoty se pracuje binárně a pokud se nastaví čas na 1.1.1970 tak ho prý bude OS brát v 64bit verzi jako
00000000000000000000000000000000000000
00000000000000000000000000

O deset sekund později
00000000000000000000000000000000000000
00000000000000000000001010

OS z nějakého důvodu asi chce zjistit něco ze staršího času, proměnná nemá záporné hodnoty a proto se přetočí jak na tachometru a 10 sekund před 1.1.1970 dojde k underflow a vznikne

1111111111111111111111111111111111111111111111111111111111110101
= 36893488147419103223 s

jestli počítám správně je rok 1169108098509259 a to je tak obří datum, že na něj nemusí být OS odlazen, stolní macy to prý mají ošetřené.

______________________________________

Je to jen teorie, ale kvalita článku mi připomíná jako číst Blesk. Informací o problému je na internetu dost, je takový problém přečíst 2-3 různé články k tématu než se sem něco napíše?

T_xy
T_xy
Level 1 Level 1
14. 2. 2016 15:42

Komentáře tohoto uživatele máš zablokované.

@Teorge Někde jsem viděl, že to prý souvisí s časovými zónami. Při přepočtu na UTC se pár hodin přičte nebo odečte - a když se odečte, tak může být problém. Počet sekund od 1.1.1970 je v 64bit ale pěkně uhozený formát, jestli je to pravda. Normální systém používá v 64bit např. datetime2 s rozlišením 100ns a rozsahem let 0001-9999.

CNN
CNN
Level 0 Level 0
14. 2. 2016 18:58

Komentáře tohoto uživatele máš zablokované.

@T_xy Pocet sekund od 1.1.1970 je ANSI standart C funkcie time(). 32 bitova signed hodnota pretecie niekedy v roku 2038, to bude este veselo, len to nie je tak popularne ako magickejsi rok 2000. ;-)

T_xy
T_xy
Level 1 Level 1
14. 2. 2016 21:22

Komentáře tohoto uživatele máš zablokované.

@T_xy @CNN: To je to o čem mluvím. I když je to ANSI standard, tak je to dost pitomé i na tom 32bit, ale tam to má aspoň nějakou logiku. Na 64bit už je to ale úplně na hlavu.

Teorge
Teorge
Level 1 Level 1
14. 2. 2016 09:10

Komentáře tohoto uživatele máš zablokované.

@Teorge Omlouvám se za vyjadřování nebo jestli je to špatně, zrovna jsem dorazil domů z práce a po 12 hodninách na noční šichtě mi to v hlavně už úplně správně nešrotuje.

Butch
Butch
Level 1 Level 1
14. 2. 2016 10:56

Komentáře tohoto uživatele máš zablokované.

Dalsi zbytecne tema typu: "neolizujte zmrzle zabradli"

dajan
dajan
Level 3 Level 3
14. 2. 2016 12:14

Komentáře tohoto uživatele máš zablokované.

:)

Reklama
Reklama