<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.exploitee.rs/index.php?action=history&amp;feed=atom&amp;title=Talk%3ASony_Update_Downloads</id>
	<title>Talk:Sony Update Downloads - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.exploitee.rs/index.php?action=history&amp;feed=atom&amp;title=Talk%3ASony_Update_Downloads"/>
	<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;action=history"/>
	<updated>2026-05-06T16:46:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.0-alpha</generator>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;diff=534&amp;oldid=prev</id>
		<title>Catrane: Add my approach to the hash cracker script.</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;diff=534&amp;oldid=prev"/>
		<updated>2011-02-12T04:05:32Z</updated>

		<summary type="html">&lt;p&gt;Add my approach to the hash cracker script.&lt;/p&gt;
&lt;a href=&quot;https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;amp;diff=534&amp;amp;oldid=526&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Catrane</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;diff=526&amp;oldid=prev</id>
		<title>Abliss: contributing more chars of the pad (up to 134) and my script for building it out.</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Talk:Sony_Update_Downloads&amp;diff=526&amp;oldid=prev"/>
		<updated>2011-02-11T09:25:09Z</updated>

		<summary type="html">&lt;p&gt;contributing more chars of the pad (up to 134) and my script for building it out.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;I worked on expanding the pad a bit.  Here&amp;#039;s the script I use.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
use strict;&lt;br /&gt;
package abliss;&lt;br /&gt;
my $start = shift;&lt;br /&gt;
&lt;br /&gt;
open HEX, &amp;quot;&amp;lt;./history/other/RfHid_v0156_2010091601_NL.hex&amp;quot; or die;&lt;br /&gt;
open OUT, &amp;quot;&amp;gt;&amp;gt;pad.bin&amp;quot;;&lt;br /&gt;
open IN, &amp;quot;&amp;lt;pad.bin&amp;quot;;&lt;br /&gt;
my @files = (&lt;br /&gt;
    &amp;quot;./history/NBL/batch_sync-vfat.sh&amp;quot;,&lt;br /&gt;
    &amp;quot;./history/board_conf.sh&amp;quot;,&lt;br /&gt;
    &amp;quot;./history/other/check_spectra1_20100929.sh&amp;quot;,&lt;br /&gt;
    &amp;quot;./history/other/factory_reset_conditional_keepremote_20101012.sh&amp;quot;,&lt;br /&gt;
    &amp;quot;./history/other/format_sda_20100514.sh&amp;quot;);&lt;br /&gt;
my @fds;&lt;br /&gt;
for (my $i = 0; $i &amp;lt;= $#files; $i++) {&lt;br /&gt;
    open (my $fd, $files[$i]) or die &amp;quot;can&amp;#039;t open &amp;quot; . $files[$i];&lt;br /&gt;
    push(@fds, $fd);&lt;br /&gt;
}&lt;br /&gt;
my @contents;&lt;br /&gt;
&lt;br /&gt;
my $hexbyte;&lt;br /&gt;
my @hexchars = qw(0 1 2 3 4 5 6 7 8 9 A B C D E F :);&lt;br /&gt;
push(@hexchars, &amp;quot;\r&amp;quot;);&lt;br /&gt;
push(@hexchars, &amp;quot;\n&amp;quot;);&lt;br /&gt;
my @output = ();&lt;br /&gt;
our $xorbyte;&lt;br /&gt;
while (read(HEX, $hexbyte, 1)) {&lt;br /&gt;
    for (my $i = 0; $i &amp;lt;= $#files; $i++) {&lt;br /&gt;
        my $char;&lt;br /&gt;
        if (read($fds[$i], $char, 1)) {&lt;br /&gt;
            $contents[$i] .= $char;&lt;br /&gt;
            if (length($contents[$i]) &amp;gt; 30) {&lt;br /&gt;
                $contents[$i] = substr($contents[$i], 1);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if ($start-- &amp;gt; 0) {&lt;br /&gt;
        my $char;&lt;br /&gt;
        read(IN, $char, 1);&lt;br /&gt;
        $xorbyte = ord($char);&lt;br /&gt;
    } else {&lt;br /&gt;
        for (my $j = 0; $j &amp;lt;= $#hexchars; $j++) {&lt;br /&gt;
            $xorbyte = ord($hexbyte) ^ ord($hexchars[$j]);&lt;br /&gt;
            my $choices = &amp;quot;&amp;quot;;&lt;br /&gt;
            my $ok = 1;&lt;br /&gt;
            for (my $i = 0; $i &amp;lt;= $#files; $i++) {&lt;br /&gt;
                my $neword = (ord(substr($contents[$i],length($contents[$i]) - 1)) ^ $xorbyte);&lt;br /&gt;
                if ($neword &amp;gt; 127 || &lt;br /&gt;
                    ($neword &amp;lt; 32 &amp;amp;&amp;amp; &lt;br /&gt;
                     $neword != 9 &amp;amp;&amp;amp; # tab&lt;br /&gt;
                     $neword != 10 &amp;amp;&amp;amp; # LF&lt;br /&gt;
                     $neword != 13 # CR&lt;br /&gt;
                    )) {&lt;br /&gt;
                    $ok = 0;&lt;br /&gt;
                    #printf &amp;quot;==== %2d ====\n%s\n&amp;quot;, $j, xorlastbyte($contents[$i]);&lt;br /&gt;
                    last;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            if ($ok) {&lt;br /&gt;
                printf &amp;quot;==== %2d ====\n%s\n&amp;quot;, $j, join(&amp;quot;\n--\n&amp;quot;, map {xorlastbyte($_)} @contents);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        my $answer = &amp;lt;STDIN&amp;gt;;&lt;br /&gt;
        chomp $answer;&lt;br /&gt;
        if ($answer eq &amp;quot;q&amp;quot;) {&lt;br /&gt;
            close OUT;&lt;br /&gt;
            die;&lt;br /&gt;
        }&lt;br /&gt;
        $xorbyte = ord($hexbyte) ^ ord($hexchars[$answer]);&lt;br /&gt;
        print OUT chr($xorbyte);&lt;br /&gt;
    }&lt;br /&gt;
    @contents = map {xorlastbyte($_)} @contents;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub xorlastbyte {&lt;br /&gt;
    my $content = shift;&lt;br /&gt;
    if ($content) {&lt;br /&gt;
        my @chars = split(//, $content);&lt;br /&gt;
        $chars[-1] = chr(ord($chars[-1])^ $xorbyte);&lt;br /&gt;
        return join(&amp;#039;&amp;#039;, @chars);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s my pad, 134 chars:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00000000  38 cf 4f aa 7a 8a 2e 3e  2b 41 82 9a ad 31 e9 dc  |8.O.z..&amp;gt;+A...1..|&lt;br /&gt;
00000010  ef 47 2f 0b 26 76 12 fe  5f 5b 58 e1 10 18 7d e6  |.G/.&amp;amp;v.._[X...}.|&lt;br /&gt;
00000020  ad 92 1b 91 8e 90 69 f7  8a 9b 68 d8 98 58 fa 95  |......i...h..X..|&lt;br /&gt;
00000030  63 81 d6 5f 04 7d 29 8b  09 cf b9 21 b8 d9 df dd  |c.._.})....!....|&lt;br /&gt;
00000040  c4 7e 71 d9 3f 35 ea 7b  0d ec 7f d1 a3 76 64 88  |.~q.?5.{.....vd.|&lt;br /&gt;
00000050  a5 8e 27 49 60 c0 a0 bc  77 54 31 e3 d6 6a bf e5  |..&amp;#039;I`...wT1..j..|&lt;br /&gt;
00000060  1b 42 25 da a3 97 b8 e1  ba 54 13 5b 68 31 da ff  |.B%......T.[h1..|&lt;br /&gt;
00000070  1c 5c 15 46 4e 32 f1 76  50 e0 4e f3 ab 9a 28 bb  |.\.FN2.vP.N...(.|&lt;br /&gt;
00000080  b5 cf 2f 50 24 45                                 |../P$E|&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I checked the checksums in the .hex file and they all validate so far.&lt;/div&gt;</summary>
		<author><name>Abliss</name></author>
	</entry>
</feed>