Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1234567891011121314let rnd x y = let r = Random() let mutable res = 0I let mutable first = true while not first && not (res >= x && res <= y) do first <-...

看从零到一第一遍有没懂的地方记录一下 长篇大论: 现代操作系统往往有比较完善的MPU机制,可以按照内存页的粒度设置进程的内存使用权限。内存权限分别有可读(R)、可写(W)和可执行(X)。一旦CPU执行了没有可执行权限的内存上的代码,操作系统会立即终止程序。 在默认情况下,基于漏洞缓解的规则,程序中不会存在同时具有可写和可执行权限的内存,所以无法通过修改程序的代码段或者数据段来执行任意代码。...

https://x.zhufn.fun 以后都在这里更新了 Hexo太麻烦了,每次又要打开gitlab,然后手打文章信息的表格。 发现有个用next做的服务端渲染的把Notion页面当作博客的项目,拿过来用了。https://github.com/transitive-bullshit/nextjs-notion-starter-kit

你们好呀 1printfn "hello world!"

Level 1跳过 静态分析发现假装是Level 2的那个函数里面什么都没有。动态调试也是到那直接退出了 然后查阅wp发现是使用AddVectoredExceptionHandler注册了异常处理,然后利用int 3触发异常。如果要调试,需要修改调试器设置,让被调试程序处理异常。 暂时不需要调试,观察注册的异常处理函数,可以发现是和一段字节异或2,但是那段内存是运行时生成的,调试一下。注意...

有这么一道题,它检验输入,并把输入里的空白删掉后取md5作为flag。它的输入非常神奇,用scanf读入一堆整数。放进数组里后要经过两个函数的检验。 (下面请ghidra发言) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455int che...

建立连接前两步: syn-> syn+ack<- 在这里客户端超时,服务器会重传。 默认情况下linux会重传5次,windows:2次 (可以改)

主要实现思路是递归。我们把单个值也当作合法的json,先判断当前json类型,如果是单个值就直接return对应类型(解析时)或toString(编码时),如果是Object就遍历它的key值,然后取冒号后面的部分递归解析/编码,Array也差不多。 经解码再编码测试非常完美。 知识点:java泛型类如HashMap<String, Object>无法用instanceof检测...

我们选择遗传算法的经典案例——旅行商问题来介绍遗传算法的具体实现。 旅行商问题 给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。 我们将给每个城市设定一个坐标,以此来求得每对城市之间的距离。对于图上问题,可使用Floyd算法对图进行处理,以获得每对城市之间的最短路。 全局常量、变量定义 12345678910const int SIZE = 1000,...

为了节省容器启动时间,准备把rust写的api编译好后扔进docker里,于是编译到target:x86_64-unknown-linux-musl 然后openssl炸了,不认libssl-dev了,查了下要重新编译。。。 但是,我们发现了一个神奇的docker镜象https://github.com/emk/rust-musl-builder,它已经配好了openssl的musl环境 于...