分类 technique 下的文章

查看二进制ELF汇编 : hopper disassembler
python辅助gdb : gdb peda / pwndbg

stegsolve : 全色图片破解

foremost : 文件恢复,用于图片等

quipquip : 解决字符替换问题网站
cyberchef : 在线编解码

hexedit / ghex : 编辑文件 hex

eog : 图片浏览器

ltrace : trace library call

john the ripper :

zip2john ./results2.zip > flag.out
./john --wordlist=rockyou.txt flag.out

python:
struct.pack('<I', 0x123456) : 生成小端序hex字符
pwn.p32(0x123456)
pwn.ELF([elf file]) : 查看 ELF 相关信息

elf = pwn.ELF([elf file])
p = elf.process()
prompt = p.recv() # 运行ELF并获取输出
p.sendline(payload)
p.interactive()
s = pwn.remote(host, port)
s.close()

curl -X POST [site] : 发送post请求
curl [site] --data username=[context] :发送 post 请求,指定域

reverse tools :
ghidra
ida
cutter

nvidia-smi topo -m 结果:
SYS : 不能进行 P2P 和 GPUDirectRDMA
PHB(PIX) : 在同一 PCIE fabric 上,可以进行 P2P 和 GPUDirectRDMA

libucm.so 在 ucx 中

经验

cuda aware mpi 很重要
大规模 CPU 并行任务的运行时间可能取决于最慢的一个进程,因此跑之前应该确保机器是空的,否则可能被小任务拖慢

CUDA && MPI

UVA : unified virtual memory
把 host memory 和 同一节点内的所有 GPU memory 视为同一地址空间

GPUDirect

  1. RDMA (通过 IB)
  2. P2P (节点内)

pinned memory && pageable memory

malloc 申请的 host memory 通常为 pageable (内存可以被 kernel 移动,比如到swap)
RDMA 传输不通过 kernel,因此不 aware 页表,故 RDMA 传输的内存在拷贝时不能被移动,为 pinned memory

fftw

选项:

--enable-threads
--enable-openmp
# 分别对应 fftw3_thread 和 fftw3_openmp library
--enable-mpi # 打开 mpi

安装

./configure --enable-threads --enable-openmp --enable-mpi --prefix=$PREFIX
make -j32
make install

libxc

./configure --prefix=$PREFIX

架构:
每个芯片 260 核,其中 4 个为资源管理 (MPE),256个为通用计算(CPE),每 64 个组成一个阵列,共四个阵列
CPE 和 MPE 都有 256 位 SIMD 单元。
每 CPU 最大支持 32GiB DDR3 内存
每块主板两个 CPU,32块主板一台主机,256主机
整系统共 40960 CPU

理论性能 125,435.9 TFlops,LinPack 93,014.6 TFlops
功耗 15.3百万瓦

目前问题:
服务器上用公网IPv4的 v2ray 在校园网中可以正常使用,在移动网络下无法连接

服务器代理

在本地使用 remote port forwarding 将本地 7890 端口 forward 到 gorgon 7890 端口
在 gorgon 上使用 remote port forwarding 将本地 7890 端口 forward 到 i1 7890 端口 ssh -R 7890:localhost:7890 e1.sc.team
在 i1 上 export ALL_PROXY="127.0.0.1:7890" 使用代理

wsl 代理

cat /etc/resolv.conf 查看 dns nameserver
export ALL_PROXY="http://$nameserver:7890

翻墙wifi

基本策略:需要翻墙的设备A和提供翻墙的手机B连接同一wifi的局域网,设备A配置代理到手机B,手机B运行翻墙软件并允许局域网的连接。
由于局域网问题,wifi不能由校园网提供,目前解决方案使用手机C开启热点提供wifi

可行的方法:
手机C开启热点,同时热点走校园网wifi
手机B连接手机C热点,使用 v2rayNG,配置文件使用blog,设置允许局域网的连接
设备A连接手机C热点,设置代理端口为 手机B v2rayNG HTTP代理端口,代理服务器为手机B在局域网中 IP。

已知 ios 转日区若当前在日本 IP 则可以不绑定支付方式。

linux 服务器翻墙

服务器安装 v2ray
注意 wget 不支持 socks5 协议,测试时请使用 curl

v2ray 配置文件如下:

{
  "inbounds": [
    {
      "port": local_port, // 监听端口
      "protocol": "socks", // 入口协议为 SOCKS 5
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth"  //socks的认证设置,noauth 代表不认证,由于 socks 通常在客户端使用,所以这里不认证
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess", // 出口协议
      "settings": {
        "vnext": [
          {
            "address": "server_ip", // 服务器地址,请修改为你自己的服务器 IP 或域名
            "port": server_port,  // 服务器端口
            "users": [
              {
                "id": "server_uuid",  // 用户 ID,必须与服务器端配置相同
                "alterId": server_alterId // 此处的值也应当与服务器相同
              }
            ]
          }
        ]
      }
    }
  ]
}

然后 export http_proxy=socks5://127.0.0.1:[local_port]