{"url":[{"loc":"https:\/\/shadowfile.inode.link\/posts\/","lastmod":"2026-08-29T09:47:42-10:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2026\/08\/the-second-derivative-why-no-one-understands-the-ai-boom-translation\/","lastmod":"2026-08-29T09:47:42-10:00"},{"loc":"https:\/\/shadowfile.inode.link\/","lastmod":"2026-08-29T09:47:42-10:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2026\/04\/forrester-research-note-mythos-10-consequences-finance-translation\/","lastmod":"2026-04-26T21:04:20-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2022\/07\/revisiting-pegasus-on-ios9\/","lastmod":"2022-07-02T13:50:48-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2018\/10\/source-level-debugging-the-xnu-kernel\/","lastmod":"2018-10-24T19:50:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2018\/08\/autogenerating-defaults1-commands\/","lastmod":"2018-08-28T13:00:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2018\/08\/defaults-non-obvious-locations\/","lastmod":"2018-08-18T14:37:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2018\/06\/advanced-defaults1-usage\/","lastmod":"2018-06-16T12:34:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/11\/broken-abandoned-and-forgotten-code-part-14\/","lastmod":"2015-11-05T08:30:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/10\/broken-abandoned-and-forgotten-code-part-13\/","lastmod":"2015-10-08T08:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/09\/broken-abandoned-and-forgotten-code-part-12\/","lastmod":"2015-09-17T08:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/07\/broken-abandoned-and-forgotten-code-part-11\/","lastmod":"2015-07-16T08:00:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/07\/broken-abandoned-and-forgotten-code-part-10\/","lastmod":"2015-07-09T08:11:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/06\/broken-abandoned-and-forgotten-code-part-9\/","lastmod":"2015-06-25T08:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/06\/broken-abandoned-and-forgotten-code-part-8\/","lastmod":"2015-06-18T08:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/06\/broken-abandoned-and-forgotten-code-intermission\/","lastmod":"2015-06-08T06:31:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/06\/broken-abandoned-and-forgotten-code-part-7\/","lastmod":"2015-06-04T10:37:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/05\/broken-abandoned-and-forgotten-code-part-6\/","lastmod":"2015-05-28T08:26:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/05\/broken-abandoned-and-forgotten-code-part-5\/","lastmod":"2015-05-21T09:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/05\/broken-abandoned-and-forgotten-code-part-4\/","lastmod":"2015-05-14T09:18:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/05\/broken-abandoned-and-forgotten-code-part-3\/","lastmod":"2015-05-07T08:00:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/04\/broken-abandoned-and-forgotten-code-part-2\/","lastmod":"2015-04-30T07:59:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/04\/broken-abandoned-and-forgotten-code-part-1\/","lastmod":"2015-04-23T12:00:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/04\/broken-abandoned-and-forgotten-code-prologue\/","lastmod":"2015-04-22T17:11:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/02\/bowcaster-feature-multipart-form-data\/","lastmod":"2015-02-20T11:29:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/01\/patching-emulating-and-debugging-a-netgear-embedded-web-server\/","lastmod":"2015-01-31T00:43:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2015\/01\/remote-debugging-with-qemu-and-ida-pro\/","lastmod":"2015-01-03T12:05:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2014\/09\/exploit-tunneling-and-callback\/","lastmod":"2014-09-23T17:32:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2014\/05\/infiltrate-2014\/","lastmod":"2014-05-16T14:06:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/12\/emulating-and-debugging-workspace\/","lastmod":"2013-12-30T12:17:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/12\/baythreat-2013-presentation-additional-resources\/","lastmod":"2013-12-07T11:30:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/10\/netgear-root-compromise-via-command-injection\/","lastmod":"2013-10-24T14:34:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/10\/complete-persistent-compromise-of-netgear-wireless-routers\/","lastmod":"2013-10-22T06:27:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/10\/a-connect-back-http-exploit-server-for-bowcaster\/","lastmod":"2013-10-09T09:25:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/09\/44con-presentation-additional-resources\/","lastmod":"2013-09-12T05:59:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/09\/insulting-recruiter-emails\/","lastmod":"2013-09-09T08:51:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/05\/running-debian-mips-linux-in-qemu\/","lastmod":"2013-05-31T13:35:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/05\/is-your-macs-file-system-protected\/","lastmod":"2013-05-03T04:42:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/04\/bowcasters-emptyoverflowbuffer-class-tutorial-part-5\/","lastmod":"2013-04-25T13:56:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/04\/buffer-overflows-with-bowcaster-part-4\/","lastmod":"2013-04-08T09:08:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/04\/crossbow-is-now-bowcaster\/","lastmod":"2013-04-08T05:57:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/03\/buffer-overflows-with-bowcaster-part-3\/","lastmod":"2013-03-29T09:21:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/03\/buffer-overflows-with-bowcaster-part-2\/","lastmod":"2013-03-28T13:54:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/03\/buffer-overflows-with-bowcaster-part-1\/","lastmod":"2013-03-28T11:01:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/03\/crossbow\/","lastmod":"2013-03-28T10:32:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/02\/hacking-is-bullshit\/","lastmod":"2013-02-10T15:35:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2013\/02\/dlink-dir-815-upnp-command-injection\/","lastmod":"2013-02-01T15:07:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2012\/11\/updated-responsible-nondisclosure\/","lastmod":"2012-11-29T09:30:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2012\/10\/specifying-preferred-load-addresses-for-elf-shared-libraries\/","lastmod":"2012-10-23T18:44:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2012\/06\/parsing-email-and-fixing-timestamps-in-python\/","lastmod":"2012-06-12T09:06:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2011\/12\/long-form-reading-2011\/","lastmod":"2011-12-16T08:01:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2011\/12\/reading-list-2011\/","lastmod":"2011-12-13T12:15:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2009\/03\/handling-http-redirection-in-ruby\/","lastmod":"2009-03-15T09:18:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/programming\/","lastmod":"2009-03-15T09:18:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/ruby\/","lastmod":"2009-03-15T09:18:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/","lastmod":"2009-03-15T09:18:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/linux\/","lastmod":"2009-03-12T06:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2009\/03\/mounting-lvm-disks-in-ubuntu\/","lastmod":"2009-03-12T06:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/ubuntu\/","lastmod":"2009-03-12T06:30:00-07:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2009\/01\/how-to-sudoedit-non-interactively\/","lastmod":"2009-01-08T06:31:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/tags\/unix\/","lastmod":"2009-01-08T06:31:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/blog\/2004\/12\/the-shadow-file\/","lastmod":"2004-12-15T19:20:00-08:00"},{"loc":"https:\/\/shadowfile.inode.link\/resume\/"},{"loc":"https:\/\/shadowfile.inode.link\/series\/"}]}