Editing Talk:SC Communication
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== The easy peasy lemon squeasy way (UART) (CXR/CXRF/SW) == | == The easy peasy lemon squeasy way (UART) (CXR/CXRF/SW) == | ||
Python 2 + 3 compatible | |||
<syntaxhighlight lang="Python"> | |||
from binascii import unhexlify as uhx | from binascii import unhexlify as uhx | ||
from Crypto.Cipher import AES # pycryptodome | from Crypto.Cipher import AES # pycryptodome | ||
Line 190: | Line 189: | ||
print('{:08X}'.format(ret[0]) + '\n' + ''.join(ret[1])) | print('{:08X}'.format(ret[0]) + '\n' + ''.join(ret[1])) | ||
else: | else: | ||
print(ret[1][0]) | print(ret[1][0].decode('ascii')) | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
main(len(sys.argv), sys.argv) | main(len(sys.argv), sys.argv) | ||
</syntaxhighlight> | |||
</syntaxhighlight> | |||
* Credits to M4j0r for the RE of this important info | * Credits to M4j0r for the RE of this important info | ||
=== Example Scripts === | === Example Scripts === | ||
Dumping the CXR NVS (Python 2) | |||
<syntaxhighlight lang="Python"> | |||
if(len(sys.argv) < 3): | if(len(sys.argv) < 3): | ||
print os.path.basename(__file__) + ' <serial port> <output file>' | print os.path.basename(__file__) + ' <serial port> <output file>' | ||
Line 237: | Line 237: | ||
break | break | ||
time.sleep(2) | time.sleep(2) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dumping the SW NVS (Python 2 + 3) | |||
<syntaxhighlight lang="Python"> | |||
if(len(sys.argv) < 3): | if(len(sys.argv) < 3): | ||
print(os.path.basename(__file__) + ' <serial port> <output file>') | print(os.path.basename(__file__) + ' <serial port> <output file>') | ||
Line 292: | Line 264: | ||
f.close() | f.close() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Installing a CXR patch (Python 2) | |||
<syntaxhighlight lang="Python"> | |||
if(len(sys.argv) < 3): | if(len(sys.argv) < 3): | ||
print os.path.basename(__file__) + ' <serial port> <patch file>' | print os.path.basename(__file__) + ' <serial port> <patch file>' | ||
Line 318: | Line 289: | ||
for i in xrange(0x400, 0x1000, block_size): | for i in xrange(0x400, 0x1000, block_size): | ||
print hex(ps3.command("EEP SET " + hex(i+patch_area_2-0x400)[2:] + " " + hex(block_size)[2:] + " " + patch[i:i+block_size].encode('hex'))[0]) | print hex(ps3.command("EEP SET " + hex(i+patch_area_2-0x400)[2:] + " " + hex(block_size)[2:] + " " + patch[i:i+block_size].encode('hex'))[0]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== IDs == | == IDs == | ||
Line 818: | Line 789: | ||
See : | See : | ||
* https:// | * https://imgur.com/a/Iwv4d | ||
* https:// | * https://imgur.com/a/48gsT | ||
* database : https://www.sendspace.com/file/6awfi9 | * database : https://www.sendspace.com/file/6awfi9 | ||
For proof | For proof |