找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 832|回复: 6

论WWSB对布尔值的读取

[复制链接]
发表于 2024-7-11 11:29:34 | 显示全部楼层 |阅读模式
从程序0x529767起的一段代码控制了如何从INI读入布尔值。
该段代码:
if ( !Str_BoolValue )
    return bDefault;
  switch ( toupper(*Str_BoolValue) )
  {
    case '0':
    case 'F':
    case 'N':
      result = 0;
      break;
    case '1':
    case 'T':
    case 'Y':
      result = 1;
      break;
    default:
      return bDefault;
  }
从中我们可以分析出来,SBWW只看首字母决定布尔值。
原本WW把:
true 1 yes 视为真
false 0 no 视为假
那么由此,我们可以推出:
写114514、1919810、Yajusenpai都视为true
写fuck、Nigger、foolish都视为false
理论成立,实践通过
发表于 2024-7-11 19:51:29 | 显示全部楼层
原来还可以这样写
回复

使用道具 举报

发表于 2024-7-11 21:32:16 | 显示全部楼层
那岂不是可以通过修改bDefault和这6个case,配合ini替换脚本实现狗屁不通型ini加密了
回复

使用道具 举报

发表于 2024-7-11 21:38:36 | 显示全部楼层
通天河里闹灵感大王的时候就说过C4=1的狗了
回复

使用道具 举报

 楼主| 发表于 2024-7-11 23:49:02 | 显示全部楼层
双杀步枪 发表于 2024-7-11 21:38
通天河里闹灵感大王的时候就说过C4=1的狗了

但是毕竟C4=1145141919810的狗先辈还没有登场
回复

使用道具 举报

 楼主| 发表于 2024-7-11 23:51:26 | 显示全部楼层
asetherealpetya 发表于 2024-7-11 21:32
那岂不是可以通过修改bDefault和这6个case,配合ini替换脚本实现狗屁不通型ini加密了
...

bDefault是个默认值,在具体读每个参数时传入
6个case倒是很好办——
直接在那挂个钩子,把这个逻辑换成天不知地不知的沟槽函数,然后就只有上帝会知道那个是true还是false了
比如:换成读字符串的哈希值(但是哈希函数是自制的)的奇偶性
回复

使用道具 举报

 楼主| 发表于 2024-7-11 23:53:19 | 显示全部楼层
asetherealpetya 发表于 2024-7-11 21:32
那岂不是可以通过修改bDefault和这6个case,配合ini替换脚本实现狗屁不通型ini加密了
...

等下,感谢,我的"锤子的废物插件"的灵感+1
可以实装一个功能,自定义从ini读入各种数值的方式,直接超越狗屁不通,您看如何
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛

GMT+8, 2025-5-18 09:26 , Processed in 0.034377 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表