分类 折腾 下的文章


玩大家的2019新年红包


新年最快乐的是拿红包,解谜红包更好玩!又到了新的一年,大家都准备好了新年红包呢。这里收拾了一些我解一些大佬的红包的过程。

// 点开我,里面还有许多内容!


玩 中国科学技术大学第五届信息安全大赛


在某 Telegram 群看见了这个来自 USTC 的 CTF 比赛,就玩了一下。

https://hack.ustclug.org/

这是我第一次打 CTF(虽然这个和大佬们的 CTF 并不一样),啥经验都没有。也发现自己基础很差,真正感受到了知识储备的重要性,我的知识储备对我解题速度的降低起了很大作用呢。

不过这个还是很好玩的!感谢 USTC 的大佬们!

这里列出的题解都是我在实际答题过程中打通一个写一个这样写下来的,所以还有一些我没做过的题目请移步官方的 writeup

最后得分: 4150

最后排名: 全场第8,“其他”组第7

// 点开我,里面还有许多内容!


刷写FRC的无线网桥


只要跟着本文走,刷写网桥不用愁。本教程可以在 Windows 7 及以上的任意语言的系统中使用。

0x01 下载最新的工具

每个赛季的 kickoff 之前或之后都会在官方文档中释出最新赛季的 FRC Radio Configuration Utility。运行这个软件需要 Java 环境,没装过 JRE(Java Runtime Environment) 的请自行下载。

官方刷写教程:http://wpilib.screenstepslive.com/s/currentCS/m/getting_started/l/144986-programming-your-radio

2019 年最新的 FRC Radio Configuration Utility: https://firstfrc.blob.core.windows.net/frc2019/Radio/FRC_Radio_Configuration_19_1_1.zip

2018 年的 FRC Radio Configuration Utility:https://firstfrc.blob.core.windows.net/frc2018/Radio/FRC_Radio_Configuration_18_1_0.zip

访问速度比较慢,你可能需要一个能流畅访问国际互联网的环境。国内也有人会搬运这些软件到百度云等地方。

0x02 安装

双击安装,一路回车,这个就不需要详细讲了吧。

0x03 调整参数

如果系统是 Windows 7 可以跳过这一步

右键点击桌面上的 FRC Radio Configuration Utility,属性,并调整兼容性设置为“Windows 7”。

compatibility setting

0x04 在非英语环境使用

2019 年开始,Radio Configuration Utility 修复了语言的 bug,所以这一步可以直接跳过了。

因为可以直接跳过了所以这里就折叠掉了。

如果系统本身就是英语,可以跳过

下载这个 FRC Radio Configuration Utility Language Fixer.zip,然后解压。

接着右键桌面图标,然后选择“打开文件位置”。将解压出来的 ipconfig.exe 复制进去就可以了。

copy patch.png

官方并不支持非英文系统的刷写,本只 Soha 在这方面花了很大力气。想对这个了解更多,请看另一篇博客:《在非英文Windows上使用FRC Radio Configuration Utility》

0x05 准备工作

先打开控制面板的“更改适配器设置”。怎么打开不赘述了,如有疑问可以找搜索引擎。

然后禁用所有除了通过网线连接无线网桥的网卡(比如 Wi-Fi 的网卡什么的)。

disable_useless_interfaces.png

0x06 RCU,启动!

双击桌面图标启动 FRC Radio Configuration Utility,并选择合适的网卡。

select_interface.png

0x07 刷写固件

点击那个大大的“Load Firmware”来刷写固件。

Radio successfully flashed

看到这个提示说明成功。

0x08 配置基本信息

填入队号(Team Number)和无线接入点密码(WPA Key),这是到时候通过 Wi-Fi 调试 Robot 的时候的必要连接信息。

input_basic_info.png

然后点击那个大大的“Configure”。

Bridge for Team 6385 successfully programmed

看到类似这个的提示,说明成功。

0x09 测试

打开电脑的 Wi-Fi 设置,如果可以成功通过之前设置的信息(本例中是 SSID=6385,Password=Hello,FRC!)连接到路由器,那么恭喜你,成功了。

0x0a 结束

本文赶制仓促,可能有不够清楚或者错误的地方,可以联系 [email protected] 提问。

0x0b 常见问题

Error finding NPF device name for adapter: * Try disabling all other adapters (using the Control Panel)

在步骤 0x07 中出现。很多队伍使用了 KOP 中的 USB 有线网卡来刷写,或者没有禁用别的网卡,会遇到这个问题。

建议使用板载有线网卡,并确认完成了上面的步骤 0x05

Timeout waiting for radio. Make sure you have launched the .exe not the .jar. Try using a switch.

在步骤 0x07 中出现。一般应该都是通过桌面快捷方式启动的,更大的可能原因是因为这台计算机的网卡不靠谱儿。

  1. 确认使用了桌面上的快捷方式启动 FRC Radio Configuration Utility。
  2. 在电脑和无线网桥使用一个一个交换机。(提示: 一个常见的无线路由器的四个LAN口可以作为一个交换机,注意这需要提前关闭无线路由器的 DHCP 服务。)
  3. 换台电脑。

Firmware too old.

在步骤 0x08 中出现。一般是因为没有进行步骤 0x07,现有的固件太老了。

参考步骤 0x07 进行一次“Load Firmware”。

Bridge sequence failed: Could not reconnect to bridge for validation

在步骤 0x08 中出现。如果确定你的所有操作都没毛病的话,那么请检查你的 Utility 的版本。

2018 年 07 月 30 日下午某队伍就因为是版本太老而无法配置。


一次解包 Unity 游戏应用的经历


0x00

为了更好的学(kuang)(tian)(lao)(gong),我尝试从这个游戏入手,解包一个 Unity 应用。

0x01 万能的 unzip

下载apk,然后直接unzip了它。然后我们想要的东西都在 assets 文件夹里。

├─assets
│  ├─bin
│  │  └─Data
│  │      ├─Managed
│  │      └─Resources
│  ├─common
│  │  ├─animations
│  │  │  ├─...
│  │  ├─audios
│  │  │  ├─...
│  │  ├─effect
│  │  │  ├─...
│  │  ├─fonts
│  │  ├─materials
│  │  ├─shaders
│  │  └─textures
│  ├─i6
│  │  ├─...
│  └─lua
│      ├─data
│      │  ├─...
│      ├─lib
│      ├─logic
│      ├─module
│      └─sys
├─lib
│  ├─armeabi
│  ├─armeabi-v7a
│  └─x86
├─META-INF
└─res
    ├─anim
    ├─color
    ├─color-v11
    ├─color-v23
    ├─drawable
    ├─...

有个文件,路径是 /assets/bin/Data/unity default resources 很容易引起注意。

// 点开我,里面还有许多内容!


在非英文Windows上使用FRC Radio Configuration Utility


刷写和配置路由器的固件一直是非英语为母语国家的FRC队伍心中的痛,因为非英语的Windows不能正常运行FRC Radio Configuration Utility。而且以前可以用ap51-flash刷写,今年却!不!行!又因为坑爹的Microsoft,只有一些比较高端的版本(比如专业版)才能随意更换Windows语言。为此大部分队伍还得专门重装一台英文的Windows的机子来刷路由。

而今天,终于不需要专门准备英文的Windows了。机智的soha倒腾出了一个在非英文Windows系统下使用FRC Radio Configuration Utility的方法。


下面的内容是最新操作。Version 2018-02-09 22:41

之前的方法比较繁琐,而且可能会引起很多不必要的麻烦(比如我已经解决了好几个因为下面那个方法刷完路由后没有还原设置导致的问题了)。加上在WPILib的官方Repo里我之前提的issue下面,有个墨西哥的dalao说这个方法在西班牙语的系统上不能起作用。经过我在法语Windows上的确认,的确在西欧语系下即使修改了非Unicode程序的设置,在命令行下照样会显示本身的系统语言。

wont_change_in_western_languages.png

作为一个强迫症,我又倒腾出了一个全新的、更简单的方法。

awesome.png

只需要下载这个FRC Radio Configuration Utility Language Fixer.zip,然后将其解压后的 ipconfig.exe 复制到FRC Radio Configuration Utility的安装文件夹(默认路径是 C:\Program Files\FRC Radio Configuration Utility 32位系统 或者 C:\Program Files (x86)\FRC Radio Configuration Utility 64位系统

然后就按照最正常的方式双击桌面上的图标,然后刷写路由就好了。不需要任何其他的操作。

下面简单提一下原理。

FRC Radio Configuration Utility 使用了 ipconfig /all 来获得所有可用于刷写固件和配置的网卡。然而如果你在非英语的Windows上执行这个命令,你会发现它出的结果往往是使用系统语言的。那么问题就出在这里:FRC Radio Configuration Utility 没法识别英语之外的内容啊!

所以我写的这段程序相当于复刻了一个英文版 ipconfig /all。 当然这个复刻版功能更简化了,因为只需要有名称和物理地址就可以了,所以我只输出了物理地址和名称,这样FRC Radio Configuration Utility就可以识别出所有网卡了。

而且更好的是,因为不像之前一样改locale,没有修改系统的默认代码页,所以不需要专门把网卡名称重命名为英文的了。中文的照样可以正常刷写。

compare_fixer_ipconfig.png

compare_fixer_ipconfig-fr.png

附上这个程序的GitHub repo地址:moesoha/frc-rcu-language-fixer

感谢6971的朋友帮忙对该程序进行了测试。


下面的方法因为比较繁琐已不再建议使用。Version 2017-08-19 12:52

(以Windows 10简体中文专业版为例)

首先保证你已经在网络设置里将接Radio的有线网卡的名称改成英文(为了后面选择网卡方便,图片只是举个例子)。

interfaces.png

然后打开设置-时间和语言-日期和时间-其他日期、时间和区域设置(Windows 10,较低的版本是控制面板-时钟、语言和区域),接着依次点开区域-管理-更改系统区域设置,在下拉框中选择英语(美国),随后重启系统。

find_non-unicode.png

重启完后,右击桌面上的FRC Radio Configuration Utility快捷方式更改属性,在兼容性选项卡下面选择兼容模式为Windows 7(如果本来就是Windows 7可以忽略)。

properties_for_RCU.png

应用保存后以管理员身份运行FRC Radio Configuration Utility就可以正常地选择网卡并且刷写啦!

RCU_result.png

刷完后别忘了把第一步中改的英语(美国)换回原来的中华人民共和国的设置,不然很多国产软件会出乱码!