Skip to content

Commit

Permalink
24/12/19
Browse files Browse the repository at this point in the history
Former-commit-id: 76ed8ee
  • Loading branch information
WindRunnerMax committed Dec 19, 2024
1 parent 18ef327 commit e4174c2
Show file tree
Hide file tree
Showing 295 changed files with 2,396 additions and 2,320 deletions.
131 changes: 104 additions & 27 deletions .scripts/screenshot.py
Original file line number Diff line number Diff line change
@@ -1,55 +1,132 @@
import os
from PIL import Image
from PIL import Image # Pillow

max_width = 1080
max_height = 1080

def compress_image(input_file_path, output_file_path, quality=85, max_width=800, max_height=800):

def remove_alpha_channel(img):
"""Remove the alpha channel from the image."""
# 先保留 alpha 通道
rgba_img = img.convert("RGBA")
# 创建一个白色背景的图像, 大小与 PNG 图像相同
white_background = Image.new("RGBA", rgba_img.size, (255, 255, 255, 255))
# 将 PNG 图像粘贴到白色背景上, 使用 PNG 图像本身的 alpha 通道
combined_img = Image.alpha_composite(white_background, rgba_img)
# 转换为 RGB 模式, 移除 alpha 通道
rgb_img = combined_img.convert("RGB")
return rgb_img


def convert_to_jpg(input_file_path, output_file_path, quality=90):
"""Convert the image to jpg and save it to the output path."""
with Image.open(input_file_path) as img:
original_width, original_height = img.size
if original_width > max_width or original_height > max_height:
return compress_image(input_file_path, output_file_path, quality)
rgb_img = remove_alpha_channel(img)
output_file_path = output_file_path.replace(".png", ".jpg")
rgb_img.save(output_file_path, format="jpeg",
optimize=True, quality=quality)
return output_file_path


def compress_image(input_file_path, output_file_path, quality=80):
"""Compress the image, resize it and save it to the output path."""
with Image.open(input_file_path) as img:
# 获取原图尺寸
original_width, original_height = img.size

# 计算缩小比例,并重新计算宽度和高度
aspect_ratio = original_width / original_height
if original_width > max_width or original_height > max_height:
if aspect_ratio > 1: # 宽>高
if aspect_ratio > 1:
# 宽 > 高
new_width = max_width
new_height = int(max_width / aspect_ratio)
else: # 高>宽
else:
# 高 > 宽
new_height = max_height
new_width = int(max_height * aspect_ratio)
img = img.resize((new_width, new_height), Image.LANCZOS)
else:
new_width = original_width
new_height = original_height

img.save(output_file_path, optimize=True, quality=quality)
rgb_img = remove_alpha_channel(img)
output_file_path = output_file_path.replace(".png", ".jpg")
rgb_img.save(output_file_path, format="jpeg",
optimize=True, quality=quality)
return output_file_path


def scan_and_compress_images(directory, size_threshold=800*1024, quality=85):
def scan_and_compress_images(directory):
"""
Scan the directory for .png and .jpg files larger than size_threshold and compress them.
:param directory: Directory to scan for images.
:param size_threshold: Size threshold in bytes (default 800KB).
:param quality: Quality of the compressed image (default 85).
"""
size_threshold = 2 * 1024 * 1024 # 2MB
compressed_files = []
for root, _, files in os.walk(directory):
for file_name in files:
if file_name.lower().endswith((".png", ".jpg", ".jpeg")):
file_path = os.path.join(root, file_name)
file_size = os.path.getsize(file_path)
if not file_name.lower().endswith((".png", ".jpg", ".jpeg")):
continue
file_path = os.path.join(root, file_name)
file_size = os.path.getsize(file_path)
output_file_path = os.path.join(root, f".temp/{file_name}")
# 不处理 .temp 目录 以及 Picture 目录
if file_path.find(".temp") != -1 or file_path.find("Picture") > -1:
continue
# 按需创建 .temp 目录
if not os.path.exists(os.path.join(root, ".temp")):
os.makedirs(os.path.join(root, ".temp"))
if file_size > size_threshold:
# 如果文件大小超过阈值, 压缩图片长宽以及质量, 并转换为 jpg 格式
output_file_path = compress_image(
file_path, output_file_path, 80)
elif file_name.endswith(".png"):
# 如果是 png 图片, 压缩质量并转换为 jpg 格式
output_file_path = convert_to_jpg(
file_path, output_file_path, 90)
else:
continue
output_file_size = os.path.getsize(output_file_path)
# 如果压缩后的文件比原文件大, 则删除压缩后的文件
if output_file_size > file_size:
os.remove(output_file_path)
continue
print(
f"Convert: {file_size / (1024*1024):.2f}MB => {output_file_size / (1024*1024):.2f}MB"
)
# 删除原文件, 替换为压缩后的文件
os.remove(file_path)
os.rename(output_file_path,
output_file_path.replace("/.temp", ""))
print(f"{file_path}")
print(f"{output_file_path}")
# 存储原文件名
compressed_files.append(file_name)
return compressed_files


if file_size > size_threshold and file_path.find(".temp") == -1:
print(
f"Compressing: {file_path} {file_size / (1024*1024):.2f} MB"
)
if not os.path.exists(os.path.join(root, ".temp")):
os.makedirs(os.path.join(root, ".temp"))
output_file_path = os.path.join(root, f".temp/{file_name}")
compress_image(file_path, output_file_path, quality)
def replace_md_file_content(directory):
"""
Replace the content of the markdown file with the compressed image file name.
"""
for root, _, files in os.walk(directory):
for file_name in files:
if not file_name.lower().endswith((".md")):
continue
file_path = os.path.join(root, file_name)
with open(file_path, "r", encoding="utf-8") as file:
content = file.read()
raw_content = content
for file_name in compressed_files:
new_file_name = file_name.replace(".png", ".jpg")
content = content.replace(
f"screenshots/{file_name}", f"screenshots/{new_file_name}")
if raw_content != content:
print(f"Replace: {file_path}")
with open(file_path, "w", encoding="utf-8") as file:
file.write(content)


if __name__ == "__main__":
# Replace with the path to your directory
directory_to_scan = os.path.realpath(os.path.join(os.getcwd(), "../"))
scan_and_compress_images(directory_to_scan)
compressed_files = scan_and_compress_images(directory_to_scan)
replace_md_file_content(directory_to_scan)
96 changes: 48 additions & 48 deletions Environment/Recover刷机简介.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
# Recovery
Recovery是一种可以对安卓手机内部的数据文件进行修改的模式,类似电脑的PE。不同的recovery有不同的功能。使用recovery可以说是刷机(卡刷)的基础,想要比较顺畅的刷机了解好rec是必不可少的。

> PS:为何不先介绍线刷 线刷看起来更容易,直接用手机连接电脑然后用各类刷机软件一键式操作就好。以前的话的确是这个样子,只要找到合适的刷机包一键刷机即可。但是目前各大手机厂商为了安全使用了BL锁,这样线刷就变得相对困难一些了,尤其是官方闭源,无法解锁BL的手机。
如何进入rec:在关机状态下,同时按住手的电源键和音量上(有的手机是音量下,这个键视手机而定)。

进入rec有何作用:除了刚介绍的刷机还可以进行数据的清除,某些时候手机无法开机,或者忘记了密码,并且不想去寻找售后的话,可以直接尝试清除数据
> PS:如果是忘记了密码,并且是下边将要介绍的第三方rec中的TWRP的话,可以直接删除密码文件然后就可以进入手机了
官方recovery(新买的手机官方自带的recovery),只能用它进行官方OTA系统升级以及恢复出厂设置。
第三方recovery目前主要有CWM和TWRP。CWM目前已经很少见了,主要是TWRP。

## CWM:

![](screenshots/2023-04-14-20-28-42.png)

1.CWM常用的只有刷入刷机包以及清除数据,并且无法采用触控的方式,只能利用音量键等进行操作,相对twrp recovery来说功能较少。


## TWRP

![](screenshots/2023-04-14-20-28-55.png)

1. install
第三方rom、补丁的安装,也可以选install下的storage那里,切换至另一个存储器
2. wipe
对手机的某些分区或者内存储、外置SD卡或者OTG设备进行清除。双清三清四清五清,刷机一般只需要双清即可
3. Back up
对手机某些分区的备份
4. restore
对手机某些分区的数据恢复还原
5. mount
挂载手机某些分区
对系统文件进行管理或者终端操作system分区时,会发现找不到system,这时要用到mount命令。
6. advanced
对手机内部数据管理,包括复制、移动、赋权限、删除和重命名(对system进行操作别忘了用MOUNT命令)
7. SD卡分区;
partition SD card,这个请自行尝试
8. reload theme
修改recovery主题,可以美化recovery界面,以及使用中文界面
将下载的主题(ui.zip)放到TWRP/theme/目录下(可能是内存储,也可能是外置SD卡,看你recovery里面的storage选择哪里了),点击reload theme,即可使用主题。可以通过主题选择,将TWRP界面换成中文版。
9. terminal command
手机端终端,对手机系统进行修改
10. file manager
文件管理
11. adb sideload刷机
自动将电脑端第三方rom和补丁包推送到手机内存储或者sd卡(adb命令:adb sideload ***.zip)
# Recovery
Recovery是一种可以对安卓手机内部的数据文件进行修改的模式,类似电脑的PE。不同的recovery有不同的功能。使用recovery可以说是刷机(卡刷)的基础,想要比较顺畅的刷机了解好rec是必不可少的。

> PS:为何不先介绍线刷 线刷看起来更容易,直接用手机连接电脑然后用各类刷机软件一键式操作就好。以前的话的确是这个样子,只要找到合适的刷机包一键刷机即可。但是目前各大手机厂商为了安全使用了BL锁,这样线刷就变得相对困难一些了,尤其是官方闭源,无法解锁BL的手机。
如何进入rec:在关机状态下,同时按住手的电源键和音量上(有的手机是音量下,这个键视手机而定)。

进入rec有何作用:除了刚介绍的刷机还可以进行数据的清除,某些时候手机无法开机,或者忘记了密码,并且不想去寻找售后的话,可以直接尝试清除数据
> PS:如果是忘记了密码,并且是下边将要介绍的第三方rec中的TWRP的话,可以直接删除密码文件然后就可以进入手机了
官方recovery(新买的手机官方自带的recovery),只能用它进行官方OTA系统升级以及恢复出厂设置。
第三方recovery目前主要有CWM和TWRP。CWM目前已经很少见了,主要是TWRP。

## CWM:

![](screenshots/2023-04-14-20-28-42.jpg)

1.CWM常用的只有刷入刷机包以及清除数据,并且无法采用触控的方式,只能利用音量键等进行操作,相对twrp recovery来说功能较少。


## TWRP

![](screenshots/2023-04-14-20-28-55.jpg)

1. install
第三方rom、补丁的安装,也可以选install下的storage那里,切换至另一个存储器
2. wipe
对手机的某些分区或者内存储、外置SD卡或者OTG设备进行清除。双清三清四清五清,刷机一般只需要双清即可
3. Back up
对手机某些分区的备份
4. restore
对手机某些分区的数据恢复还原
5. mount
挂载手机某些分区
对系统文件进行管理或者终端操作system分区时,会发现找不到system,这时要用到mount命令。
6. advanced
对手机内部数据管理,包括复制、移动、赋权限、删除和重命名(对system进行操作别忘了用MOUNT命令)
7. SD卡分区;
partition SD card,这个请自行尝试
8. reload theme
修改recovery主题,可以美化recovery界面,以及使用中文界面
将下载的主题(ui.zip)放到TWRP/theme/目录下(可能是内存储,也可能是外置SD卡,看你recovery里面的storage选择哪里了),点击reload theme,即可使用主题。可以通过主题选择,将TWRP界面换成中文版。
9. terminal command
手机端终端,对手机系统进行修改
10. file manager
文件管理
11. adb sideload刷机
自动将电脑端第三方rom和补丁包推送到手机内存储或者sd卡(adb命令:adb sideload ***.zip)
24 changes: 12 additions & 12 deletions Environment/Ubuntu20.04配置CuckooSandbox环境.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Czy:x:1001:1001::/home/Czy:/bin/bash

`SSH`软件使用的是`MobaXterm`,可以直接在本地实现`virtualbox`的图形界面,不过还是比较卡,肯定是不如直接使用图形界面的快,但是也只是配置过程中需要使用,真正使用`Cuckoo`时就不需要手动启动虚拟机环境了,如果用`Xbash`的话需要配合`Xmanager`才能在本地拉起`virtualbox`的图形界面,此外建议安装`WinSCP`用来传输文件,这个为了方便可以用`root`登录,不过要注意用`root`登录后传输后的文件的所有者都是`root`,写文件的话需要更改权限。

![](screenshots/2023-04-14-18-51-55.png)
![](screenshots/2023-04-14-18-51-55.jpg)

## 安装Anaconda
首先来说明为什么要安装`Anaconda `,首先在`Cuckoo`不建议直接使用主`python`环境进行配置,建议使用`venv`,还有一个更重要的原因,在`Ubuntu 20.04`已经不建议使用`python2`了,而到目前为止`Cuckoo`只支持`python2`,之前在`16.04`使用`pyhton`就能拉起的环境现在需要安装`python2`并且必须使用`python2`命令才能唤起,所以为了避免出现各种问题,还是选择使用`Anaconda`进行环境配置。
Expand Down Expand Up @@ -83,7 +83,7 @@ sudo apt-get install virtualbox

如果像我一样是使用的服务器而没有实体机,而且我的服务器在实体机上是使用`VMware Workstation`管理的,那么这个状态就相当于在虚拟机中安装虚拟机,那么就需要在主体实体机的`VMware Workstation`中修改虚拟机配置在,`Processors`中启用`VT-X``AMD-V`,也就是启动虚拟化才可以。

![](screenshots/2023-04-14-20-29-31.png)
![](screenshots/2023-04-14-20-29-31.jpg)


### 安装tcpdump
Expand Down Expand Up @@ -153,23 +153,23 @@ sudo pip install m2crypto==0.24.0
首先我们需要准备好一个`XP`镜像,镜像需要自行下载,可以去`MSDN`下载,之后还要准备一个密钥,这个可以自行百度,多试试总有能用的。
点击新建,这边的`name``cuckoo1`,因为我有一个重名的了所以写了个`2`,这边一定要写好是`cuckoo1`,选择好`windows XP 32-bit`系统。

![](screenshots/2023-04-14-20-29-41.png)
![](screenshots/2023-04-14-20-29-41.jpg)

之后便是分配内存和硬盘存储等,可以一路`next`,接下来要启动安装镜像。

![](screenshots/2023-04-14-20-29-47.png)
![](screenshots/2023-04-14-20-29-47.jpg)

在此处选择下载好的`xp`系统镜像,接下来就跟随着系统进行安装,安装完成后将虚拟机关机,在`Setting`中的`Storage`中将光盘形状的这个位置的启动位置移除即可,否则每次开机都会提示你按任意键从光盘启动,那么便又会启动一次安装程序。

![](screenshots/2023-04-14-20-29-55.png)
![](screenshots/2023-04-14-20-29-55.jpg)

接下来需要配置网络环境,在启动的`virtualbox`中新建一个虚拟网卡,配置的`ip`地址等如下所示。

![](screenshots/2023-04-14-20-30-02.png)
![](screenshots/2023-04-14-20-30-02.jpg)

之后在我们新建的`cuckoo1`的虚拟机设置网络,如下所示,`Host-only`是代表只允许与宿主机通信,如果需要访问外网的话,请继续看下边的网络配置。

![](screenshots/2023-04-14-20-30-10.png)
![](screenshots/2023-04-14-20-30-10.jpg)

之后我们要配置一下虚拟机的外网网络环境,刚才我们新建了这个虚拟网卡,之后为了通信我们还需要将虚拟机里设置一个固定的`ip`地址,也就是刚才我们设置的虚拟网卡网关的子网,但是我们如果我们直接在`xp`系统里设置虚拟机的`ip`地址之后是无法上网的,所以我们需要在`ubuntu`中配置一个`NAT`网络转发,在这里我们直接使用`iptables `进行网络转发,这里每次开机都会重置,如果想要开机自动可以使用`systemctl`进行开机自启动管理,需要编写`UNIT`,在这里就不赘述了,在这里我们还是写到一个`sh`文件中需要的时候再执行即可。
注意在下边这个`ens160`是我的网卡,可以使用`ifconfig`查看网卡名称,之后的`192.168.56.0/24`就是主机以及网络号划分的子网,如果上边的`ip`配置都是根据文章来的话,那就只需要修改这个网卡名称即可。
Expand Down Expand Up @@ -208,17 +208,17 @@ sudo ./network-transform.sh
python3 -m http.server --bind 0.0.0.0 8088
```

![](screenshots/2023-04-14-20-31-04.png)
![](screenshots/2023-04-14-20-31-04.jpg)


之后我们可以直接双击启动`agent.py`,另外也可以在`C:\Document and Settings\Administrator\start menu\program\start`设置让其开机自启,当然这个也没要必要,因为我们只需要创建快照即可,在运行`agent.py`之后,我们可以使用`netstat`命令查看`8000`端口是否被占用,如果已经占用就说明`agent.py`成功启动。

![](screenshots/2023-04-14-20-31-15.png)
![](screenshots/2023-04-14-20-31-15.jpg)


等环境全部搭建完成之后,我们需要创建快照,务必注意名字要命名为`snapshot1`,默认的为`Snapshot 1`,注意是首字母大写以及`1`之前有个空格的,所以我们要命名为`snapshot1`

![](screenshots/2023-04-14-20-31-22.png)
![](screenshots/2023-04-14-20-31-22.jpg)

之后我们就关闭虚拟机即可,在运行`cuckoo`过程中不需要手动启动虚拟机。

Expand Down Expand Up @@ -392,7 +392,7 @@ cuckoo
cuckoo web runserver 0.0.0.0:8000
```

![](screenshots/2023-04-14-20-31-43.png)
![](screenshots/2023-04-14-20-31-43.jpg)

![](screenshots/2023-04-14-20-32-18.png)

Expand All @@ -402,7 +402,7 @@ cuckoo web runserver 0.0.0.0:8000

在右上角的`Submit`提交文件,点击`Analyze`即可,现在就可以在执行`cuckoo`的终端查看到分析进度了,在`Dashboard`可以整体查看概览,也可以在`Rencent`中查看已经完成的任务。

![](screenshots/2023-04-14-20-32-01.png)
![](screenshots/2023-04-14-20-32-01.jpg)

另外在正常情况下在分析的时候`$HOME/.cuckoo/storage/analyses`会出现很多`xxx.exe_``xxx.dmp`文件,可以使用`crontab`执行一些定时任务出来一下,例如我不需要则在存在时间大于`6`分钟的直接删除。

Expand Down
Binary file added Environment/screenshots/2023-04-14-18-51-55.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-51-55.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-52-41.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-52-41.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-52-55.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-52-55.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-53-04.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-53-04.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-53-16.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-53-16.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-53-27.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-53-27.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-55-31.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-55-31.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-55-47.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-55-47.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-18-56-13.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-18-56-13.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-19-00-50.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-19-00-50.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-19-01-36.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-19-01-36.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-19-01-47.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-19-01-47.png
Binary file not shown.
Binary file added Environment/screenshots/2023-04-14-19-01-56.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Environment/screenshots/2023-04-14-19-01-56.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-19-02-06.jpg
Binary file removed Environment/screenshots/2023-04-14-19-02-06.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-19-02-14.jpg
Binary file removed Environment/screenshots/2023-04-14-19-02-14.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-19-02-23.jpg
Binary file removed Environment/screenshots/2023-04-14-19-02-23.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-19-02-30.jpg
Binary file removed Environment/screenshots/2023-04-14-19-02-30.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-19-02-36.jpg
Binary file removed Environment/screenshots/2023-04-14-19-02-36.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-26-39.jpg
Binary file removed Environment/screenshots/2023-04-14-20-26-39.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-26-46.jpg
Binary file removed Environment/screenshots/2023-04-14-20-26-46.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-27-04.jpg
Binary file removed Environment/screenshots/2023-04-14-20-27-04.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-27-18.jpg
Binary file removed Environment/screenshots/2023-04-14-20-27-18.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-28-17.jpg
Binary file removed Environment/screenshots/2023-04-14-20-28-17.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-28-25.jpg
Binary file removed Environment/screenshots/2023-04-14-20-28-25.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-28-42.jpg
Binary file removed Environment/screenshots/2023-04-14-20-28-42.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-28-55.jpg
Binary file removed Environment/screenshots/2023-04-14-20-28-55.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-29-31.jpg
Binary file removed Environment/screenshots/2023-04-14-20-29-31.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-29-41.jpg
Binary file removed Environment/screenshots/2023-04-14-20-29-41.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-29-47.jpg
Binary file removed Environment/screenshots/2023-04-14-20-29-47.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-29-55.jpg
Binary file removed Environment/screenshots/2023-04-14-20-29-55.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-30-02.jpg
Binary file removed Environment/screenshots/2023-04-14-20-30-02.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-30-10.jpg
Binary file removed Environment/screenshots/2023-04-14-20-30-10.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-31-04.jpg
Binary file removed Environment/screenshots/2023-04-14-20-31-04.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-31-15.jpg
Binary file removed Environment/screenshots/2023-04-14-20-31-15.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-31-22.jpg
Binary file removed Environment/screenshots/2023-04-14-20-31-22.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-31-43.jpg
Binary file removed Environment/screenshots/2023-04-14-20-31-43.png
Diff not rendered.
Binary file added Environment/screenshots/2023-04-14-20-32-01.jpg
Binary file removed Environment/screenshots/2023-04-14-20-32-01.png
Diff not rendered.
Loading

0 comments on commit e4174c2

Please sign in to comment.