Skip to content

Instantly share code, notes, and snippets.

@maliubiao
maliubiao / elden_ring_game_saver.py
Last active February 26, 2022 11:24
backup your game save before you start to fight with a boss in elden ring and die countless times.
r"""
elden ring disk game save backup, require python3 + pynput, pip install pynput
as we all know, this game is difficult, you are going to die many times before a boss was defeated.
shift+r recover from last save
shift+s create a backup
esc quit program
"python elden_ring_saver.py last" will pick last manual save , overwrite current game save
change "last" to specified "manual-...." has same affect.
this program will backup game save if any content releated to character was changed, eg, weapon
if not character data is changed, eg, you walk around in game scence, character data will not flush to disk, then manual save will not work
@maliubiao
maliubiao / stock-report.py
Last active October 30, 2021 11:16
stock-report-pdf-downloader
"""
根据6位股票编号,下载它最近的业绩报告全文,跟踪一下公司的发展轨迹
"""
import requests
import re
import json
import sys
import pdb
@maliubiao
maliubiao / quest2.md
Last active April 16, 2024 04:17
oculus quest 2 / quest 3电脑热点激活教程

原理

  1. quest 2 或者quest 3 连接wifi后连接受限是因为无法发送UDP到国外服务器
  2. 由于墙的干扰, 很多梯子, 都加了混淆 , 不支持udp转发
  3. ss原版, v2ray最新版本支持udp转发

准备工具

  1. 能连无线wifi的电脑
  2. outline client
  3. connectify 热点创建工具, 如果不想用connectify, 请参考知乎教程, 也没问题. windows 10自带热点共享, 不需要connectify.
  4. outline用的ss连接 到justmysocks3.net购买
@maliubiao
maliubiao / delete115LargeFolder.js
Created October 14, 2019 07:30
删除大型的115网盘目录
/*
在一个有所有tab访问权限的chrome扩展的devtools里执行, 比如adblock, 用来批量删除大的115网盘文件夹, 一个文件夹超过50000文件之后, 官方的删除API不能用
先点进那个文件夹, 然后执行代码, 它会一页页的删除, 删除完自动停止。
*/
function doDelete() {
chrome.tabs.query({"url": "https://115.com/*"}, function(tabs) {
let tb = tabs[0];
let code1 = `
async function sleep(ms)
@maliubiao
maliubiao / article.py
Created November 4, 2018 10:06
为了更好的理解某些单词的意思 , 需要定位它最恰当使用的上下文, 所以 把几千部文学作品放进elasticsearch, 搜索这个单词, 就可以找到这个上下文
import requests
import os
import json
import sys
import pdb
import subprocess
headers = {
"Content-Type": "application/json"
}
@maliubiao
maliubiao / china_ip_range.py
Created March 12, 2017 06:02
china ip range for proxy config.
import socket
import re
import struct
def cidr_to_ip_range(cidr):
start, bits = cidr.split("/")
return start, socket.inet_ntoa(struct.pack(">I", struct.unpack(">I", socket.inet_aton(start))[0] | (0xffffffff >> int(bits))))
china_ip = """
1.68.0.0/14
@maliubiao
maliubiao / README.md
Last active March 22, 2021 10:39
libc malloc, free trace

目标 

现成的工具,比如valgrind不是哪里都兼容,不如直接hook malloc这个符号,systemtap这种更好一些,但是生产环境又不好装

build

gcc mtrace.c -o libmtrace.so -fPIC -shared

use

LD_PRELOAD=./libmtrace.so ./test

sample

mtracemalloc: 0x291a980 64
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_Znwm+0x18) [0x7fa489401188]
@maliubiao
maliubiao / gmp.py
Last active December 25, 2015 07:46
golang内存分配profiler工具之一, alloc日志分析
#-*-encoding=utf-8-*-
"""
golang的内存分配profiler工具, 为了尽可能少的alloc, 需要消灭alloc最多的路径
启用日志分析
GODEBUG=allocfreetrace=1 ./yourprogram &> alloc.log
生成的日志如下
tracealloc(0xc20800e000, 0x1000, runtime.parforthread)
goroutine 0 [idle]:
@maliubiao
maliubiao / autoreload.py
Created November 20, 2014 01:35
autoreload.py
#! /usr/bin/env python
#chmod +x daemon.py
#complete -cf daemon.py
import sys
import os
def daemonize(log):
if not os.fork():
os.setsid()
section .data
OUTPUT_FMT: db "timeit: %ds %dus", 0x0a, 0x0
;引用的库函数与导出的符号
section .text
global main
extern fork
extern time
extern sleep
extern wait