分类 分享 下的文章

写在前面

前两天win10自己更新了(1909,系统版本18363.836),然后发现远程又不能用了(被远程也用不了,可能是之前不知道改了什么造成的)。
于是又想起rdpwrap这个项目,结果这个项目不知道发生了什么凉了。
2020-05-17T08:51:18.png

好在文件什么的我都还有,另外上一次系统更新,远程服务挂掉的时候,rdpwrap.ini这个配置文件也找了GitHub上较新的(2020/02/13)。
中文网站能搜到的基本都是通过这个项目的脚本搞定,不过这个项目有个问题,到了后面要手动替换termsrv.dll这个文件(不知道是什么时候开始的)。
也就是本文重点,替换termsrv.dll文件,会谷歌的同学应该很利索能找到教程,在此写个图文版的。

下载RDPWrap-v1.6.2相关文件。

Tips! 该压缩包为个人打包,不喜勿下。
2020-05-17T08:57:55.png

替换termsrv.dll

该文件位于C:\Windows\System32\,替换时你会发现先要求管理员权限(System32下的文件,正常),确定之后会提示需要更改当前用户的权限。

然后我依稀记得是要先停止远程服务,结果停止了也没有,然后谷歌了下才知道是管理员的权限也不够hhh。
2020-05-17T09:03:47.png

默认打开上面图里红框部分是灰色,不可操作的(不要以为点那个编辑可以直接修改权限)。
要怎么修改呢?
termsrv.dll -> 属性 -> 安全 -> 高级 -> 更改 ->

  • 可直接输入要选择的对象名称处填入用户名(大写)\Administrators
  • 也可在高级 -> 立即查找 -> 选择Administrators -> 双击/确定

-> 确定 -> 应用+确定
-> 编辑 -> 选择Administrators ->修改权限为完全控制 -> 应用+确定 -> 确定

图示如下:
2020-05-17T09:14:22.png
2020-05-17T09:20:33.png

现在你可以替换termsrv.dll了。

最后

在替换termsrv.dll后,打开powershell(管理员)

执行net stop termservice
替换C:\Program Files\RDP Wrapper下的rdpwrap.ini文件
PS执行net start termservice

至此运行RDPConf.exe可以看到全绿,又可以愉快地使用远程桌面了。
2020-05-17T09:26:39.png

其他

rfxvmt.dll忘了要不要替换。如果前面没成可以试试替换,我反正之前替换过,系统更新后也还是之前替换的版本。
2020-05-17T09:30:37.png

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为  1,那么这个数就是快乐数。

如果 n 是快乐数就返回 True ;不是,则返回 False 。

思路

  1. 数字转字符列表依次计算平方的和
  2. 检查是不是在已知的非快乐数中,是则继续计算;不是且不为1,那就是新的非快乐数,记录并返回False;都不是则它是未知的快乐数,记录并返回True
  3. 平方和部分用字典预存储0-9的平方结果
class Solution:
    def isHappy(self, n: int) -> bool:
        stock = {
            "0" : 0,
            "1" : 1,
            "2" : 4,
            "3" : 9,
            "4" : 16,
            "5" : 25,
            "6" : 36,
            "7" : 49,
            "8" : 64,
            "9" : 81,
        }
        self.happy_stack = [0, 1]
        self.non_happy_stack = []

        def check(n):
            if n in self.happy_stack:
                return True
            _sum = sum([stock[num] for num in str(n)])
            if _sum in self.non_happy_stack:
                return False
            elif _sum != 1:
                self.non_happy_stack.append(_sum)
                return check(_sum)
            else:
                self.happy_stack.append(_sum)
                return True
        return check(n)

数字各位平方和

不知道这样会不会快一点

def get_sum(n):
    _sum = 0
    while n > 0:
        _sum += (n % 10) ** 2
        n = int(n / 10)
    return _sum

  • 查看硬盘信息
fdisk -l
  • 硬盘分区(注意你的硬盘名字,我的是/dev/vdb
fdisk /dev/vdb

然后可以输入m查看帮助。

  1. 输入n,即添加一个新分区
  2. 选择primary,我试过选择extend在后面格式化操作失败
  3. 后面几个选项,柱面起始结尾默认就行,因为是整块挂载
  4. 输入p查看分区情况,输入w保存结果
  • 格式化硬盘

df -h可以看到硬盘了
然后mkfs -t ext4 /dev/vdb1,注意是vdb1不是vdb

  • 挂载
mkdir /home/disk
mount /dev/vdb1 /home/disk

修改/etc/fstab,末尾添加,就可以开机自动挂载硬盘了

/dev/vdb1 /home/disk ext4 defaults 0 0
  • 其他

如果没有格式化就会提示下面这样的错误## 标题文字 ##

wrong fs type, bad option...

项目官方地址:Header Editor
谷歌商店:Header Editor

虽然之前有分享Gooreplacer,不过测试发现不支持referer的修改,不知道是不是姿势不对还是操作有问题。
Header Editor除了重定向、拦截修改请求头外,还有一个特性是可以修改响应体,不过可惜的是在Firefox上才行,其他部分的功能和Gooreplacer区别不会太大。
个人体验是Header Editor功能方面会更强一些,有一个不太舒服的地方是添加规则的按钮在右下角,打开设置界面后还切了好几次后才注意到。。
2020-04-29T13:43:19.png

举一个修改referer的例子
修改前:
2020-04-29T13:48:02.png
设置:
规则类型在最开始的编辑的时候可选,保存后退出再编辑就不能变更了
2020-04-29T13:52:53.png
修改后:
2020-04-29T13:52:08.png

Header Editor改referer有什么用呢,我想大概是有些搞盗链的网站会比较喜欢这个功能。不过感觉推荐的人不多。