V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  s9ar  ›  全部回复第 1 页 / 共 1 页
回复总数  7
6 天前
回复了 tdb11039gg 创建的主题 数据库 有没有推荐用的轻量本地数据库
如果只需要 kv 就 leveldb 咯
6 天前
回复了 tdb11039gg 创建的主题 数据库 有没有推荐用的轻量本地数据库
TP 负载就 sqlite 啊,AP 性质的就 duckdb
补充下,我想说明的是:在汇编层面各寄存器、内存地址、内存中的内容只是遵循约定以及汇编语义存在,所以想看清某种读写模式是否正确,需要看的就只是 ABI 、内存段的权限、控制流的语义。有些约定可能会因为编译优化、人为魔改等因素被临时破坏。
几个例子:
1. 考虑如下调用链,a() -> b() -> c(),其中 a 函数声明了一个局部变量 aVar ,c 函数即将声明另一个局部变量 cVar 。ARM64 的 ABI 我不是很清楚,不过无论栈往哪个方向增长,在 b 函数中读写 aVar ,以及即将属于 cVar 的地址当然都是允许的,只要语义上没有差错。地址空间中属于栈的那部分是由 OS 事先分配好的,不会另作他用;程序可以自行决定其中内容的含义。当然如果写歪了,把返回地址、canary 或者其他有用结构覆盖了,程序就会产生各种错误。
2. 如果整个地址空间都属于某个控制流,且读、写、执行权限全部开放,那么想怎样写就怎样写,sp 只是一种随意的标记。(这一般是裸机 / 内核态才有的特权)
3. 错误地、有意地、被恶意用户夺取控制流等,读写到了不属于自己的内存区域,就可能引起段错误,或引起其他神奇现象。可以了解下 RCE 、ROP 等等有趣的小玩意
33 天前
回复了 rhnlin 创建的主题 程序员 关于学习计算机方法
找点事做呗,比如系统方向可以看看 MIT 6.s081, 6.5840, CMU 15-445, PintOS 等,虽然都是些玩具项目但有很多配套材料
或者去 GitHub 找项目读读源码,这里提几个有意思的小玩意:rswier/c4, Battelle/movfuscator, gchq/CyberChef
读论文也不错,从开山作读起。反正顺着参考往上搜很快就能找到的
33 天前
回复了 cjd6568358 创建的主题 C 请大佬帮忙修改一份 elf 文件里的数值
@cjd6568358 没问题,已发
35 天前
回复了 cjd6568358 创建的主题 C 请大佬帮忙修改一份 elf 文件里的数值
不熟悉 ARM ,简单按要求 patch 了下。只改了 3072 -> 256 这一处

https://wormhole.app/3OB69#4hI0m0EDd7sE5eHbutbMwQ
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   956 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.