关于使用Luckfox Pico Plus 开发板 来折腾ps4的记录

post-thumb

 

之前一直使用的是树莓派3B那个板子来做注入灵魂的容器,现在尝试改用 Luckfox Pico Plus这个板子来代替树莓派。

换luckfox板的优点就是功率更小,可以直接在ps4的usb口上取电,价格也更便宜,也不需要再多占用一张tf卡,直接使用板上的nano引导系统就足够了。

1. 我手上 Luckfox Pico Plus板子 内存和存储情况如下:

[root@luckfox etc]# df -h
Filesystem                Size      Used Available Use% Mounted on
ubi0:rootfs              67.1M     61.9M      5.1M  92% /
devtmpfs                 16.4M         0     16.4M   0% /dev
tmpfs                    16.5M         0     16.5M   0% /dev/shm
tmpfs                    16.5M    164.0K     16.4M   1% /tmp
tmpfs                    16.5M    524.0K     16.0M   3% /run
/dev/ubi4_0              22.4M     17.7M      4.7M  79% /oem
/dev/ubi5_0               4.5M     24.0K      4.5M   1% /userdata
[root@luckfox etc]# free -h
              total        used        free      shared  buff/cache   available
Mem:          33.1M       17.2M       10.0M      688.0K        5.9M       12.4M

做一个linux服务器或其它的是够呛的 但做为做为嵌入开发和我想要运行 pppwn程序是绝对够用的.

2.  拷贝 pppwn  c++版本到开发板内  (来源:   https:// github.com /xfangfang/ PPPwn_cpp/ releases   去掉空格)     下载  其中的  arm-linux-musleabi.cortex_a7.zip   解压得到里面的 pppwn 文件 

3. 之前生成的 stage1 stage2 目录二进制文件拿回来(怎么来这里忽略)    放在和pppwn同目录里  结构如下:

[root@luckfox ~]# pwd
/oem
[root@luckfox ~]# tree
.
|-- pppwn
|-- stage1
|   `-- stage1.bin
|-- stage2
|   `-- stage2.bin

4.通过 ip a 命令获取luckfox的网卡名叫 eth0  再输入  /oem/pppwn --interface eth0 --fw 1100 --auto-retry   能正常出现Waiting for PADI   有戏了

[root@luckfox ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq qlen 1000   ///(备注: 这里还没插网线 所以显示  NO-CARRIER)
    link/ether 46:79:d1:25:fb:df brd ff:ff:ff:ff:ff:ff   
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 06:bd:6b:33:1d:e5 brd ff:ff:ff:ff:ff:ff
    inet 172.32.0.93/16 brd 172.32.255.255 scope global usb0
       valid_lft forever preferred_lft forever
[root@luckfox ~]# /oem/pppwn --interface eth0 --fw 1100 --auto-retry
[+] PPPwn++ - PlayStation 4 PPPoE RCE by theflow
[+] args: interface=eth0 fw=1100 stage1=stage1/stage1.bin stage2=stage2/stage2.bin timeout=0 wait-after-pin=1 groom-delay=4 buffer-size=0 old-ipv6=off auto-retry=on no-wait-padi=off real_sleep=off

[+] STAGE 0: Initialization
[*] Waiting for PADI...
^C[*] Sending PADT...

5. 在 /etc/init.d  目录里建立一个shell批处理 S99pppwn文件  把执行命令 /oem/pppwn --interface eth0 --fw 1100 --auto-retry  编辑该文件

[root@luckfox ~]# vi /etc/init.d/S99pppwn
[root@luckfox ~]# chmod +x  /etc/init.d/S99pppwn
[root@luckfox ~]# cat /etc/init.d/S99pppwn
#!/bin/sh
/oem/pppwn --interface eth0 --fw 1100 --auto-retry --stage1 /oem/stage1/stage1.bin --stage2 /oem/stage2/stage2.bin

6. reboot 一下  运行一下   ps -ef|grep pppwn  

[root@luckfox ~]# ps -ef|grep pppwn
  737 root     {S99pppwn} /bin/sh /etc/init.d/S99pppwn start
  738 root     /oem/pppwn --interface eth0 --fw 1100 --auto-retry --stage1 /oem/stage1/stage1.bin --stage2 /oem/stage2/stage2.bin
  775 root     grep pppwn

pppwn 已经自启动 跑在进程里了

7. 实机测试:

直接usb口取电 LAN口直接用  568A对568B网线 接入ps4网线

启动ps4后 稍待一会儿 就注入成功了