月度归档: <span>2020 年 7 月</span>

ぼくの一人戦争 感想

小镇上存在着“会”这种超自然现象,每场“会”就是进行一次战斗。所谓战斗说白了就类似塔防游戏,引发“会”的那个人在“会”里作为王,也是敌人的目标,士兵则负责拦住来袭的敌人。虽然王能掌握战局但是没法动弹,只能负责指挥。士兵的人选则是以王的人际关系出发,按关系好坏可被招聘至“会”中进行战斗的人。士兵的战斗力也是按关系好坏划分的,王持有一定点数作为招聘士兵的花销。当士兵在“会”中受伤死亡时便会无法再进入“会”,此时王的点数会增加,反映到现实中则是失去了和王之间的羁绊和记忆并且反目。如果有士兵牺牲那么本次战斗会立即结束,相反如果王被敌人干掉则王会在后面一段时间内变得口无遮拦、忠于自己的欲望,还会选择性失忆,仿佛活在梦里。


《格蠹汇编》读书笔记

第 6 章 再解电源服务溢出崩溃

  • bcdedit 启用内核调试
  • !process 切换到触发异常的进程
  • .reload /user 查看用户态内容
  • 内核调试。UnhandledExceptionFilter 会在存在内核调试器的情况下触发 int 3
  • 断点异常之后会发错误报告给 WER 服务

第 7 章 三解电源服务溢出崩溃

  • WinRE 设置 windbg 为 JIT
  • 没有出现界面。再挂上内核调试器
  • 沿着调用栈顺藤摸瓜,查出等待链的最后是出问题的电源服务
  • !process 0 0 列出所有进程;.PROCESS /i <eprocess 地址> 切换到目标进程;!alpc /m <消息地址> 查看 ALPC 信息(栈会打印消息地址);.kill <eprocess> 杀进程
  • 禁用电源服务避免在系统启动过程中被调用,service.msc 设置服务的失败操作为什么也不做,防止重启
  • session 0 隔离:在服务的属性页勾选“允许桌面交互”并启用交互服务检测服务(Interactive Server Dectection)。也可修改注册表里服务键值下的 Type,置上 0x100 位。0x20 表示与其他服务共享宿主进程,0x10 单独拥有宿主进程。
  • JIT 仍没有动静,可能是启动过程受到干扰:可以在启动电源服务时同时启动调试器,在注册表“Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options” 里新建 svchost.exe,创建 Debugger 字符串值,设置为 windbg 路径
  • 注册表设置服务启动超时:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 新建字符串 ServicesPipeTimeout,单位毫秒,一天=86400000
  • 设置注册表 JIT 以便远程调试:"windbg.exe -p %ld -e %ld -QY -c ".server tcp:port=2000" -loga windbg.log" -g 开关是忽略初始断点,要去掉。触发后打开新的 windbg 进行远程调试