BreakTheSyntaxCTF - You cannot exe
0x01 栈行为分析 32位程序,没有PIE和canary. int __cdecl main(int argc, const char **argv, const char **envp) { _BYTE buf[12]; // [esp+8h] [ebp-10h] BYREF write(1, buf, 0x40u); read(0, buf, 0x1Cu); retu...
0x01 栈行为分析 32位程序,没有PIE和canary. int __cdecl main(int argc, const char **argv, const char **envp) { _BYTE buf[12]; // [esp+8h] [ebp-10h] BYREF write(1, buf, 0x40u); read(0, buf, 0x1Cu); retu...
前一段时间玩了《命运石之门》本体,尝试对其资源进行解包. 0x01 尝试1: binwalk提取 根据名称判断,这些mpk文件应该就是游戏资源. 📦USRDIR ┣ 📜bg.mpk ┣ 📜bgm.mpk ┣ 📜chara.mpk ┣ 📜manual.mpk ┣ 📜mask.mpk ┣ 📜mgsshader.mpk ┣ 📜script.mpk ┣ 📜se.mpk ┣ 📜sh...
我的nvim配置入门框架是照抄的nvim-kickstart这个项目,后来随着装的插件渐渐变多,开始逐渐拆分成自己的配置文件. 但是lsp的配置在我的nvim-config中一直处于遗留下来的屎山状态。最近在安装ocaml lsp的时候,遇到了无法正确安装的问题,决心真正去学习一下相关的配置原理. layer1: 原生nvim lsp nvim提供了lsp client相关的api: vi...
先前对函数式编程语言产生了兴趣,学过一点haskell(虽然说连门都还没有入),里面确实有一些让我感到巧妙的设计,但是在实际应用的过程中,为了保持“pure”而付出的一些代价,总让我感到有些麻烦. 后来听说了ocaml这门语言,似乎在实际生产中,会更加“自由”; 而且据说还适合用于编译器、解析器或者符号求解等领域, 感觉很有趣,于是打算了解一下. 初步接触的体验:有了haskell的一点基...
markdown lexer 目前markdown的语法高亮使用的是jekyll自带的Rouge. 可以通过下列命令查看支持什么语言: bundle exec ruby -e 'require "rouge"; Rouge::Lexer.all.sort_by(&:tag).each { |l| puts ([l.tag] + l.aliases).compact.uniq.join...
aur缓存 在下载一个包的时候,卡在了最后一步,我用Ctrl-C打断,但是接下来重新下载的时候一直报错. :error: failed to commit transaction (could not find or read package) [##############################-----------------------------] 52% Err...
对应书中的内容: ch29 - ch32. 0x01 hookdbg 如果我们能够调试目标程序,就能轻松地实现api hook. 配套代码如下,目标是拦截WriteFile这个api, 将所有的小写字母替换成大写: #include "windows.h" #include "stdio.h" LPVOID g_pfWriteFile = NULL; CREATE_PROCESS_DE...
记录我个人对一些看过的番的感受(评分仅代表个人喜爱程度,与作品质量无关. 日常番在我这里的得分会偏高一些) 邪神与厨二病少女 S1+S2+S3 Personal Preference Rating: 10/10 最喜欢的日常番之一, 太欢乐了,完完全全就是一种享受,让人看了一集就忍不住看下一集,看完三季后忍不住找OVA看,没东西看了就忍不住再找切片来反复回味. 人物性格基本都非常讨喜,...
python中的match 多值匹配: match x: case 1 | 2 | 3: print("small") case _: # fallback print("big") 条件匹配: match x: case n if n > 10: print("big") 匹配元组(联想到了haske...
这一题是赛后做出来的(而且一开始没注意到srand的种子是clock_gettime的地址,感觉无从下手)。感觉比前面的tcademy和adventure都简单,但是比赛过程中这一题解出的人反而比较少,应该这一题需要大量枚举,打远程环境网络不好太折磨了。 0x01 寻找溢出 很容易发现run()中能够修改两个地址的2字节: int __fastcall main(int argc, con...