Class: HardsploitAPI_TEST
- Inherits:
-
Object
- Object
- HardsploitAPI_TEST
- Defined in:
- lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb
Overview
Hardsploit API - By Opale Security
www.opale-security.com || www.hardsploit.io
License: GNU General Public License v3
License URI: http://www.gnu.org/licenses/gpl.txt
Instance Method Summary collapse
-
#test_InteractRead ⇒ Object
return [Integer] 64bits.
-
#test_InteractWrite(*args) ⇒ Object
- Write value of 64 IO for testing purpose *
value
-
64bits to write on all ports return [Integer] Return the value sent (lookback) (64bits).
- Write value of 64 IO for testing purpose *
Instance Method Details
#test_InteractRead ⇒ Object
return [Integer] 64bits
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb', line 60 def test_InteractRead packet = Array.new packet.push 0 #low byte of lenght of trame refresh automaticly before send by usb packet.push 0 #high byte of lenght of trame refresh automaticly before send by usb packet.push HardsploitAPI.lowByte(USB_COMMAND::FPGA_COMMAND) packet.push HardsploitAPI.highByte(USB_COMMAND::FPGA_COMMAND) ##packet.push 0x50 #Command RAW COMMUNICATION TO FPGA FIFO packet.push 0x50 #Read mode packet.push 0xCD packet.push 0xA1 packet.push 0xA2 packet.push 0xA3 packet.push 0xA4 packet.push 0xA5 packet.push 0xA6 packet.push 0xA7 packet.push 0xA8 sendPacket packet tmp= receiveDATA(1000) case tmp when HardsploitAPI::USB_STATE::BUSY return USB_STATE::BUSY when HardsploitAPI::USB_STATE::TIMEOUT_RECEIVE puts "TIMEOUT" # raise "test_InteractRead Timeout" else #remove header (4 bytes 2 for size 2 for type of command) tmp = tmp.bytes.drop(4) return 0 | (tmp[0] << 0) | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24) | (tmp[4] << 32) | (tmp[5] << 40) | (tmp[6] << 48) | (tmp[7] << 56) end end |
#test_InteractWrite(*args) ⇒ Object
Write value of 64 IO for testing purpose
value
-
64bits to write on all ports
return [Integer] Return the value sent (lookback) (64bits)
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb', line 15 def test_InteractWrite(*args) parametters = HardsploitAPI.checkParametters(["value"],args) val = parametters[:value] packet = Array.new packet.push 0 #low byte of lenght of trame refresh automaticly before send by usb packet.push 0 #high byte of lenght of trame refresh automaticly before send by usb packet.push HardsploitAPI.lowByte(USB_COMMAND::FPGA_COMMAND) packet.push HardsploitAPI.highByte(USB_COMMAND::FPGA_COMMAND) #Command RAW COMMUNICATION TO FPGA FIFO packet.push 0x50 #Write mode packet.push 0xEF packet.push ((val & 0x00000000000000FF) >> 0) packet.push ((val & 0x000000000000FF00) >> 8 ) packet.push ((val & 0x0000000000FF0000) >> 16 ) packet.push ((val & 0x00000000FF000000) >> 24 ) packet.push ((val & 0x000000FF00000000) >> 32 ) packet.push ((val & 0x0000FF0000000000) >> 40 ) packet.push ((val & 0x00FF000000000000) >> 48 ) packet.push ((val & 0xFF00000000000000) >> 56 ) sendPacket packet tmp= receiveDATA(1000) case tmp when HardsploitAPI::USB_STATE::BUSY return USB_STATE::BUSY when HardsploitAPI::USB_STATE::TIMEOUT_RECEIVE return USB_STATE::TIMEOUT_RECEIVE else #remove header (4 bytes 2 for size 2 for type of command) tmp = tmp.bytes.drop(4) return 0 | (tmp[0] << 0) | (tmp[1] << 8) | (tmp[2] << 16) | (tmp[3] << 24) | (tmp[4] << 32) | (tmp[5] << 40) | (tmp[6] << 48) | (tmp[7] << 56) end end |