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 194: | Line 193: | ||
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 CXR (F) 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 264: | Line 263: | ||
f.close() | f.close() | ||
</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 290: | ||
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 315: | ||
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 == |