pwnagotchi移植 使用教程

pwnagotchi

硬件连接

连接树莓派的时候,可以直接将板子插到树莓派的 40PIN 排针上去,注意对好引脚。
如果使用 8/9PIN 排线连接,请参考下方的引脚对应表格:

树莓派连接引脚对应关系
e-PaperRaspberry Pi
BCM2835编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DINMOSI19
CLKSCLK23
CSCE024
DC2522
RST1711
BUSY2418
PWR1812

镜像准备

官方镜像于2021年停止更新,但是有第三方在官方镜像的基础上持续更新
两者对比:

  • 官方镜像体积更小,功能较少,运行相对第三方更流畅,但是全部需要自己导入程序和插件,不支持Pi5
  • 第三方镜像体积相对较大,功能较多,并且有人维护,最新系统支持Pi5

镜像下载地址:
GitHub:官方 pwnagotchi 镜像 第三方 pwnagotchi 镜像
百度网盘:pwnagotchi 镜像,镜像更新可能不及时,如果需要最新版本的,请去GitHub进行下载
将下载的镜像进行解压,然后将解压后的img文件烧录进TF卡

电脑端准备

1、连接电脑与树莓派的电源接口,zero连接USB接口(推荐使用电脑的USB3.0接口)

2、安装RNDIS 驱动
3、进入控制面板\网络和 Internet\网络连接查看,如果此时树莓派正常开机,那么会出现一个新的RNDIS网络,如下图

4、请右键唤出菜单,依次点击属性>Internet 协议版本 4 (TCP/IPv4),将它配置成如下静态IP地址:

IP: 10.0.0.1
掩码: 255.255.255.0
网关:10.0.0.1
DNS(如果需要的话): 8.8.8.8(或者别的)


5、然后尝试ping 10.0.0.2,如果通的话接下来就可以访问Web接口或者通过SSH连接了。

win + R 键,然后输入 cmd
然在终端输入 ping 10.0.0.2



官方镜像处理

程序准备

官方镜像只支持少部分已经过时的屏幕,因此对内置程序进行更新(PS:第三方维护的程序包不支持官方系统,需要自己在该程序包下进行手动添加)

  • 下载pwnagotchi 程序,解压
  • 修改解压后的文件夹名称,例如:将 pwnagotchi 修改成 pwnagotchi_ss
  • 将修改名称后的文件夹导入到TF卡的boot目录下

开机

1、连接电脑与树莓派的电源接口,zero连接USB接口(推荐使用电脑的USB3.0接口)

2、打开终端,输入ssh pi@10.0.0.2,密码是:raspberry
3、通过ssh连接上zero后,输入以下命令替换原本的程序

sudo rm -rf /usr/local/lib/python3.7/dist-packages/pwnagotchi
cd /boot
sudo mv pwnagotchi_ss /usr/local/lib/python3.7/dist-packages
cd /usr/local/lib/python3.7/dist-packages
sudo mv pwnagotchi_ss pwnagotchi

4、创建config.toml文件,设置启动屏幕(这里设置的是 2.13_V4 的黑白屏幕)

cd /boot
sudo nano config.toml
输入以下内容:
main.name = "pwnagotchi"
main.lang = "en"
main.whitelist = [
   "waveshare_wifi",
   "waveshare_wifi_5G"
]
main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourHomeNetworkHere"
]
ui.display.enabled = true
ui.display.type = "waveshare_4"
ui.display.color = "black"

# main.whitelist是放Wi-Fi白名单的,防止自己被攻击
# 按下Ctrl + O 保存,按下Ctrl + X 退出

5、输入 sudo poweroff 关机,然后断开树莓派与电脑的连接,接入电源即可

第三方镜像处理

程序准备

第三方程序包下载地址:程序包
可以根据需要自行下载修改

开机

1、连接电脑与树莓派的电源接口,zero连接USB接口(推荐使用电脑的USB3.0接口)

2、打开终端,输入ssh pi@10.0.0.2,密码是:raspberry
3、创建config.toml文件,设置启动屏幕(这里设置的是 2.13_V4 的黑白屏幕)

cd /boot
sudo nano config.toml
输入以下内容:
main.name = "pwnagotchi"
main.lang = "en"
main.whitelist = [
   "waveshare_wifi",
   "waveshare_wifi_5G"
]
main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourHomeNetworkHere"
]
ui.display.enabled = true
ui.display.type = "waveshare_4"
ui.display.color = "black"

# main.whitelist是放Wi-Fi白名单的,防止自己被攻击
# 按下Ctrl + O 保存,按下Ctrl + X 退出

5、输入 sudo poweroff 关机,然后断开树莓派与电脑的连接,接入电源即可

已知问题

问题:在镜像中程序所在的位置

  • 不同的系统python的文件名称可能不同,但是位置是一致的
  • /usr/local/lib/python*.**/dist-packages/pwnagotchi/
  • python*.** 为你系统中实际的python目录名称,比如 python3.11 、python3.7 等


问题:墨水屏的底色是黑色,我该如何修改

  • 将 pwnagotchi\ui\view.py 文件中的 WHITE 与 BLACK 的值互换即可


问题:2.13墨水屏开机显示乱码

  • 打开文件 pwnagotchi/ui/hw/libs/waveshare/epaper/v2in13_V4/epd2in13_V4.py 在 Clear 函数中添加对应的代码即可;2.13V3 的屏幕也是一样的操作