<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Extract on Marcello Barnaba</title>
    <link>https://sindro.me/it/tags/extract/</link>
    <description>Recent content in Extract on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Sun, 20 Jan 2008 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/it/tags/extract/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Estrarre dati dalla cache di Apple Safari</title>
      <link>https://sindro.me/it/posts/2008-01-20-extracting-data-from-apple-safari-s-cache/</link>
      <pubDate>Sun, 20 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2008-01-20-extracting-data-from-apple-safari-s-cache/</guid>
      <description>&lt;p&gt;Cinque minuti fa ho sovrascritto il nuovissimo e fiammante foglio di stile CSS&#xA;che implementa la combinazione di colori attuale, perché volevo ripristinare&#xA;quello originale e metterlo in un nuovo tema per questo sito, così che chi&#xA;apprezzava il vecchio tema potesse continuare a usarlo. Ma, come il più&#xA;principiante degli amministratori di sistema, ho decompresso i file originali&#xA;dall&amp;rsquo;archivio di backup SOPRA quelli attuali&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Safari in soccorso! Ogni elemento nella cache di Safari è memorizzato in un&#xA;database SQLite3 che si trova in &lt;code&gt;~/Library/Caches/com.apple.Safari&lt;/code&gt;,&#xA;andiamo a vedere com&amp;rsquo;è strutturato:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; 13:54:42 vjt@voyager:~/Library/Caches/com.apple.Safari$ sqlite3 Cache.db &#xA;SQLite version 3.5.1&#xA;Enter &amp;#34;.help&amp;#34; for instructions&#xA;&#xA;sqlite&amp;gt; .tables&#xA;cfurl_cache_blob_data       cfurl_cache_schema_version&#xA;cfurl_cache_response      &#xA;&#xA;sqlite&amp;gt; .schema cfurl_cache_response &#xA;CREATE TABLE cfurl_cache_response(&#xA;  entry_ID INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,&#xA;  version INTEGER,&#xA;  hash_value INTEGER,&#xA;  storage_policy INTEGER,&#xA;  request_key TEXT UNIQUE,&#xA;  time_stamp NOT NULL DEFAULT CURRENT_TIMESTAMP);&#xA;&#xA;sqlite&amp;gt; .schema cfurl_cache_blob_data&#xA;CREATE TABLE cfurl_cache_blob_data(&#xA;  entry_ID INTEGER PRIMARY KEY,&#xA;  response_object BLOB,&#xA;  request_object BLOB,&#xA;  receiver_data BLOB,&#xA;  proto_props BLOB,&#xA;  user_info BLOB);&#xA;&#xA;sqlite&amp;gt; select * from cfurl_cache_response limit 3;&#xA;1|0|1897220634|0|http://..../|2008-01-19 11:10:33&#xA;2|0|-662909776|0|http://..../|2008-01-19 11:10:33&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Wow. Impressionante. Ecco perché adoro i prodotti Apple: sono così ben&#xA;strutturati che puoi liberamente ispezionarli e usare le loro risorse per&#xA;qualsiasi compito imprevisto tu debba completare&amp;hellip; anche per rimediare ai tuoi&#xA;stessi errori ;). Ed è anche stimolante, perché devi rimboccarti le maniche e&#xA;trovare la soluzione esplorando un prodotto software costruito splendidamente.&lt;/p&gt;&#xA;&lt;p&gt;Per farla breve, ogni URL nella cache è memorizzato nel campo &lt;code&gt;request_key&lt;/code&gt;&#xA;della tabella &lt;code&gt;cfurl_cache_response&lt;/code&gt;, mentre nel campo &lt;code&gt;receiver_data&lt;/code&gt; della&#xA;tabella &lt;code&gt;cfurl_cache_blob_data&lt;/code&gt; ci sono i dati effettivi. Ora possiamo cercare&#xA;il foglio di stile CSS del tema bbs che abbiamo sovrascritto:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
