Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 44 reacties

Eigenaars van een iPhone die zich zorgen maken over de screenshots die de iPhone van applicaties maakt, kunnen de screenshotfunctie met een eenvoudig commando uitschakelen.

Al sinds de eerste generatie iPhones zorgt een druk op de Home-knop ervoor dat een screenshot wordt gemaakt, dat dan wordt weggeschreven naar een cache-directory op de iPhone. Deze snapshots van open applicaties worden gebruikt om het krimp-effect weer te geven dat zichtbaar is wanneer op de Home-knop wordt gedrukt. Privacy-bewuste iPhone-gebruikers maakten zich zorgen over deze functie en speculeerden zelfs dat hun iPhone met de screenshots informatie over programma's op de telefoon naar Apple doorstuurden. Dat bleek niet het geval, maar de cache met schermafbeeldingen zou door kwaadwillenden misbruikt kunnen worden. Immers: een snapshot van bijvoorbeeld open e-mailtjes zou gevoelige informatie prijs kunnen geven.

Een 'hacker' met de naam Jonathan Zdziarski heeft echter aan Wired een manier uit de doeken gedaan om het opslaan van screenshots te voorkomen. Voorwaarde is wel dat de iPhone met behulp van het Jailbreak-programma ontsloten is. Vervolgens kan met een openssh-programma op de telefoon worden ingelogd en met twee commando's kan de snapshot-functie onklaar worden gemaakt. Eerst worden de bestaande, gecachete afbeeeldingen gewist, en vervolgens worden nieuw gemaakte snapshots naar /dev/null verwezen.

Het uitvoeren van de commmando's heeft uiteraard wel gevolgen voor de interface van de iPhone: het 'krimp-effect' zal door het ontbreken van de benodigde screenshots niet meer werken. Heractiveren van de snapshot-functie vergt echter niet meer dan het verwijderen van de symlink.

Iphone 3G
Moderatie-faq Wijzig weergave

Reacties (44)

de oplossing die de 'hacker' bedacht heeft is hetzelfde systeem wat gebruikt wordt om de applicaties op de andere partitie van de iPhone te zetten.

ik weet niet of versie 2.x van de iPhone firmware ook gebruikt maakt van een 300mb partitie en een grotere partitie voor de muziek, etc. wanneer dat het geval is kan je een sym-link aanmaken van je applications mapje en die laten verwijzen naar de grotere partitie. op deze manier heb je niet zo snel meer last van de melding dat je geheugen vol raakt wanneer je veel email / smsjes / applicaties heb :)
Waarom wordt dat screenshot eigenlijk uberhaupt al niet alleen in-memory opgeslagen? Nu wordt er dus als ik het goed begrijp een screenshot gemaakt, weggeschreven in een directory, uitgelezen voor het transitie effect?
Op de iPhone wordt een applicatie afgesloten op het moment dat je naar het hoofdmenu gaat. Dan wordt de screenshot dus gemaakt. Op het moment dat je de applicatie weer opstart, wordt de screenshot opnieuw gebruikt om terug te gaan naar die applicatie. Ondertussen wordt het programma opgestart. Op die manier lijkt het alsof het programma nooit uit geweest is. Vandaar dat hij dus wel bewaard wordt, je hebt hem later immers weer nodig.
Op een mobiel apparaat is het zaak om zo veel mogelijk geheugen te sparen voor draaiende applicaties. Tijdelijk wegschrijven is dus waarschijnlijk efficiënter dan in het geheugen houden.

[Reactie gewijzigd door SiliconError op 23 september 2008 14:55]

Maar een screenshot is toch sowieso eerst in-memory en na het effect is het toch ook niet meer nodig en kan het toch gewoon uit het geheugen verwijderd worden. Of worden deze screenshot meerdere keren gebruikt voor deze effecten? Lijkt me toch dat iedere keer een applicatie er weer anders uitzien, omdat de data binnen de applicatie anders is.
Blijf het een nonprobleem vinden. Iemand zou alleen bij die snapshots kunnen komen wanneer ze fysieke toegang tot het toestel hebben. Zodra iemand dat heeft, hebben ze toch al je spullen al en hebben ze die eventueel gecachede screenshots met eventuele privé information toch niet meer nodig.

Storm in een minuscuul klein glas water.
Ooit van expoids gehoord? Je hoeft een telefoon helemaal niet in je bezit te hebben als je al toegang via bijvoorbeeld bluetooth krijgt.

Ik begrijp zo wie zo niet dat iemand het accepteert dat een producent ongevraagde content (zoals IMO screenshots) opslaat.

Maar ja, ik ben zo wie zo niemand die een beperking toejuicht. Ik zal een zo'n product zolang ik het kan niet aanschaffen.
Als iemand via bluetooth toegang tot je telefoon krijgt (wat volgens mij vrij goed te beveiligen is, maar dat even terzijde) dan zijn die screenshots wel het laatste waar hij in is geinteresseerd. Die screenshots zijn dan echt niet relevant hoor, zoals ParraCida al aangeeft: dan ga je natuurlijk op zoek naar de echte data en niet een plaatje ervan.
O :? Wat dacht je van bewaarde screenshots van dingen die verder al gewist zijn :?
De commando's

# rm -rf /var/mobile/Library/Caches/Snapshots
# ln -s /dev/null /var/mobile/Library/Caches/Snapshots
Wow die commados kan iedere aap met basic Unix kennis wel bedenken :D. Echt deze hele heisa is echt geen big deal. Er blijven wel meer sporen op je telefoon als je telefoon wordt gejat, ik noem maar wat willekeurigs.. je adresboek bijvoorbeeld? Owh wacht, daar heb ik ook wel een mooie fix voor:

rm -rf /var/mobile/Library/Addressbook/
ln -s /dev/null /var/mobile/Library/Addressbook/

Komt dit nu ook op de frontpage?

[Reactie gewijzigd door gast op 23 september 2008 15:20]

Dus wat je eigenlijk doet is gewoon rm -rf op een directory, en dan de directory vervangen door een simlink naar /dev/null das best handig bedacht en goed van Apple dat het systeem niet meteen over zijn nek gaat.
Ik vind het eerder goed bedacht van deze Jonathan Zdziarski dat hij het voor elkaar heeft en dat het systeem er goed op reageert. Echter het linken naar /dev/null zou sowieso al geen problemen moeten geven, want dit is best een standaard actie om te doen op een linux/bsd/unix-achtig systeem en wordt in de praktijk veel gebruikt voor allerlei toepassingen.

Dit soort "simpele" mods kan ik altijd goed waarderen. Ik hoop dat Apple hier geen probleem van gaat maken.

[Reactie gewijzigd door ejtje op 23 september 2008 13:58]

verwijzen naar niet, proberen een geldige afbeelding te lezen uit /dev/null geeft toch niet je verwachtte resultaat hoor :P
Tuurlijk wel, er is niks uit te lezen dus zou je geen plaatje terug krijgen zo raar is dat niet. daar hoeft iets echt niet van op ze bek te gaan...

Me cronjob output gaat ook allemaal direct naar /dev/null (gelukkig)

[Reactie gewijzigd door watercoolertje op 23 september 2008 14:05]

mwoah, kijk, als een app dan net zo lang probeert te lezen tot 'ie iets heeft, dan kan die app in een loop komen of gewoon blijven hangen.
Dat is dan een expres slecht geschreven programma.
Om te weten of je lees opdracht gelukt is controleer je de returnvalue van je lees functie, niet de grootte van je bestand.

op Unix is /dev/null inderdaad een van de meeste gebruikte bestanden :)
Je kan en mag daar echt alles mee doen zonder dat het in de fout loopt.

Hmm nog nooit een rename geprobeerd 8-)
Wat pas echt leuk is, is /dev/null weggooien en dan een bestand aanmaken dat null heet in je /dev directory. Of liever in iemand anders /dev directory. 8)
mv /dev/null /dev/lull werkt op mijn gentoo bak,
maar ik heb het toch vlug teruggeplaatst naar /dev/null.

copy werkt echter niet zoals verwacht.
Voorwaarde is wel dat de iPhone met behulp van het Jailbreak-programma ontsloten is.
Weinig kans dat apple hier geen problemen van zal maken lijkt me zo...

[Reactie gewijzigd door Ryaka op 23 september 2008 14:02]

Lees nog maar eens wat je geschreven hebt, ik vermoed het omgekeerd dan hetgeen je bedoelde...
Ja, aardig inderdaad. Goed bedacht ook. 8)7
Als het werkelijk goed bedacht zou zijn, zou je het in een menu aan of uit kunnen zetten.
Och, dat valt behoorlijk mee hoor. Of wil je zeggen dat een idee pas goed is als het ook daadwerkelijk direct tot in de puntjes is uitgewerkt? Ik dacht van niet, die twee dingen staan los van elkaar, al is het nut van 'goed bedacht' wel minder als het niet ook goed uitgevoerd wordt ;) Maar er komen vast makkelijkere oplossingen nu de onderliggende hack is bedacht en uitgevoerd ;)
Waarom heb ik het idee dat die afbeelding niet helemaal goed is... k zie toch duidelijk een Windows logo.

en het scherm op die iphone (rechts) lijkt anders... vooral de bovenste balk...

[Reactie gewijzigd door hplos.nl op 23 september 2008 14:04]

ja wtf: http://tweakers.net/ext/i/1222164669.jpg

De redactie heeft dat blijkbaar niet gezien toen ze dat plaatje van internet plukte.
Dat lijkt me een skin voor Windows Mobile inderdaad.
Zou dit dan betekenen dat de performance niet achteruit gaat? Blijkbaar is de cache daarvoor bedoelt. Daarnaast probeert het besturingssysteem alsnog de afbeelding weg te schrijven naar een niet-bestaande locatie. Goed bedacht van Zdziarski maar lijkt me toch netter als Apple zelf met een oplossing komt.
Wat een paranoďde gedachte, zelfs al zouden er screenshots naar Apple verstuurd worden, dan nog: boeiend?
Al sinds de eerste generatie iPhones zorgt een druk op de Home-knop ervoor dat een screenshot wordt gemaakt, dat dan wordt weggeschreven naar een cache-directory op de iPhone.
Ik weet niet hoe het bij de oude iPhones is, maar bij mijn 3G maakt ie pas een screenshot als ik de power-knop en de home-knop tegelijk een keer indruk. En die wordt niet in een cache-directory gezet, maar gewoon in mijn fotoboek.

Offtopic: LOL @ Windows Mobile iPhone skin screenshot :D

edit: Ah, dat screenshot... ik was in de war met eigen screenshots, vermoedelijk omdat ik toevallig net bezig was screenshots te maken toen ik dit bericht las :P

[Reactie gewijzigd door rb338 op 23 september 2008 15:36]

dit is ook gene bewuste screenshot, maar een temp file met je huidige weergave, op die manier kan zonder performanceverlies (en zonder rare haperingen) naar het Home scherm en terug gefaded worden.

hiervoor wordt dus een tijdelijk bestand aangemaakt in de cache directory
Wat is dan het probleem als ie tijdelijk is? Dan kun je dus sowieso niet 'al' je informatie zien daar... eventueel een paar beeldjes, maar daarna zouden ze dus weggegooid worden?
De iPhone maakt snel een screenshot als je op de home knopt drukt, het screenshot wat hij maakt zie je kleiner schalen en wegfaden waardoor het net lijkt alsof de interface in het niets verdwijnt, hij bewaard ze alleen neit in het fotoboek
Ik weet niet hoe het bij de oude iPhones is, maar bij mijn 3G maakt ie pas een screenshot als ik de power-knop en de home-knop tegelijk een keer indruk. En die wordt niet in een cache-directory gezet, maar gewoon in mijn fotoboek.
Dit gaat ook niet over het zelf maken van screenshots die je met iPhoto of iets dergelijks uit het apparaat kunt halen, maar om screenshots die worden gebruikt als jij in een applicatie zit en je terug gaat naar je homescreen. Je ziet dan heel mooi de applicatie naar het midden toe opgezogen worden, en als je de applicatie weer opstart zal hij netjes uit het midden terugkomen. Daarvoor worden deze screenshots gebruikt.
Het gaat hier niet om een gewone screenshot, maar om een screenshot van de applicatie. Hiermee kun je een applicatie die op de achtergrond hebt staan 'zien'.

Het is te vergelijken met de ALT+TAB, WINDOWS+TAB en de 'pop-up' van de start-balk in Windows Vista.

PS ik heb geen iPhone, maar het is wel logisch waar het over gaat...
De pop-up in de start-balk van Vista is niet geheel vergelijkbaar, want die laat een live-view zien, geen screenshot.
Ik vind dit echt een opgeblazen probleem. Er wordt dus een screenshot gemaakt van de applicatie die je voor het laatst hebt gebruikt, zodat er een animatie kan worden gemaakt. Volgens de site van deze hacker wordt na het weergeven van de animatie de screenshot verwijderd.

Wat volgens hem dus het probleem is, is dat je met fysieke toegang tot het systeem, deze "verwijderde" bestanden weer kunt terughalen, omdat, zoals we allemaal weten, bestanden niet meteen weg zijn, maar alleen hun verwijzing.

Maar als ik toch fysieke toegang heb tot het systeem, kan ik toch net zo goed direct het mapje mail uitlezen, inplaats van de screenshot van de mail.app proberen terug te halen?

Bovendien is dit toch bij alle systemen/telefoons zo waarbij gegevens worden verwijderd? Die kunnen dan toch net zo goed weer worden teruggehaald?

Het zou een heel ander verhaal zijn als de screenshots inderdaad naar Apple werden doorgestuurd, maar dat is niet het geval..
of je delete de cache niet, en zorgt dat nieuw gemaakte screenshots in dev/ null verdwijnen, dan kan een app de verouderde screenshot gebruiken voor het krimpeffect.

zal misschien raar lijken, maar dan heb je geen probleem met apps die iets proberen te lezen.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True