Почему мой Raspberry Pi Pico ничего не делает с файлом payload.dd после попытки превратить его в неисправный USB-накопитLinux

Ответить
Anonymous
 Почему мой Raspberry Pi Pico ничего не делает с файлом payload.dd после попытки превратить его в неисправный USB-накопит

Сообщение Anonymous »

Я следовал руководству dbisus на GitHub, чтобы создать устройство BadUSB с помощью моего Raspberry Pi Pico. После загрузки необходимых файлов, перечисленных в руководстве, я тщательно выполнил все предоставленные шаги.
Однако, когда я пытаюсь загрузить Pico, ему не удается запустить файл payload.dd, который я загружено. Я убедился, что файл правильно размещен в соответствующем каталоге Pico и что устройство правильно настроено.
Pico действительно изменил имя на CircuitPY. После этого я выполнил следующие шаги:
1) Загрузите adafruit-circuitpython-bundle-8.x-mpy-YYYYMMDD.zip здесь и извлеките его за пределы устройства.2) Перейдите в lib в недавно извлеченной папке и скопируйте adafruit_hid в папку lib на Raspberry Pi Pico.
3) Скопируйте adafruit_debouncer.mpy и adafruit_ticks.mpy в папку lib на Raspberry Pi Pico.
4) Скопируйте asyncio в папку lib на вашем Pico.
5) Скопируйте adafruit_wsgi в папку lib. lib на вашем Pico.
Изображение
< /p>
6) Скопируйте boot.py из своего клона в корень вашего Pico.
7) Скопируйте Duckyinpython.py, code.py, webapp. py, wsgiserver.py в корневую папку Pico.
[img]https://i. sstatic.net/AJ1sY2y8.png[/img]

Вот ссылка на репозиторий, где я получил свой payload.dd https://github.com/hak5/usbrubberducky-payloads/tree /master/payloads/library/prank/Change%20Wallpaper%20With%20Screenshot
И содержимое моего файла payload.dd, который просто меняет фон устройства Windows на снимок экрана, потому что он практически безвреден и может стать хорошим тестом

Код: Выделить всё

import os

try:
import pyautogui
except:
os.system("pip install pyautogui")
import pyautogui

from time import sleep

from PIL import Image
import ctypes

sleep(5)
screenshot = pyautogui.screenshot()
screenshot.save("screenshot.png")

img = Image.open('screenshot.png')

user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
img = img.resize(screensize)

image_path = os.path.abspath('screenshot.png')
ctypes.windll.user32.SystemParametersInfoW(20, 0, image_path, 0)
Это я поместил в файл блокнота, который переименовал в «payload.dd».
И, наконец, мой файл code.py на случай, если я это настроил. неправильно:

Код: Выделить всё

    # License : GPLv2.0
# copyright (c) 2023  Dave Bailey
# Author: Dave Bailey (dbisu, @daveisu)
# Pico and Pico W board support

import supervisor

import time
import digitalio
from board import *
import board
from duckyinpython import *
if(board.board_id == 'raspberry_pi_pico_w'):
import wifi
from webapp import *

# sleep at the start to allow the device to be recognized by the host computer
time.sleep(.5)

def startWiFi():
import ipaddress
# Get wifi details and more from a secrets.py file
try:
from secrets import secrets
except ImportError:
print("WiFi secrets are kept in secrets.py, please add them there!")
raise

print("Connect wifi")
#wifi.radio.connect(secrets['ssid'],secrets['password'])
wifi.radio.start_ap(secrets['ssid'],secrets['password'])

HOST = repr(wifi.radio.ipv4_address_ap)
PORT = 80        # Port to listen on
print(HOST,PORT)

# turn off automatically reloading when files are written to the pico
#supervisor.disable_autoreload()
supervisor.runtime.autoreload = False

if(board.board_id == 'raspberry_pi_pico'):
led = pwmio.PWMOut(board.LED, frequency=5000, duty_cycle=0)
elif(board.board_id == 'raspberry_pi_pico_w'):
led = digitalio.DigitalInOut(board.LED)
led.switch_to_output()

progStatus = False
progStatus = getProgrammingStatus()
print("progStatus", progStatus)
if(progStatus == False):
print("Finding payload")
# not in setup mode, inject the payload
payload = selectPayload()
print("Running ", payload)
runScript(payload)

print("Done")
else:
print("Update your payload")

led_state = False

async def main_loop():
global led,button1

button_task = asyncio.create_task(monitor_buttons(button1))
if(board.board_id == 'raspberry_pi_pico_w'):
pico_led_task = asyncio.create_task(blink_pico_w_led(led))
print("Starting Wifi")
startWiFi()
print("Starting Web Service")
webservice_task = asyncio.create_task(startWebService())
await asyncio.gather(pico_led_task, button_task, webservice_task)
else:
pico_led_task = asyncio.create_task(blink_pico_led(led))
await asyncio.gather(pico_led_task, button_task)

asyncio.run(main_loop())
Подводя итог, то, что произошло после того, как я загрузил свой payload.dd, ничего не значит: после отключения и повторного подключения pico просто снова открыл проводник, и ничего не было сделано. Я тоже следовал руководству по сетевым патронам, прежде чем попробовал эти шаги, но тоже безуспешно. Будем признательны за любую помощь.
Изменить: после дальнейшего повторного тестирования проблема НЕ была решена. Тем не менее, после подключения Pico ничего, кроме проводника, не открывается в каталоге Pico, и ничего не происходит. Если дополнительная информация поможет, я могу предоставить все необходимое. Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-after-at
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»