Android 自定义权限的作用
什么时候使用自定义权限? 和 android:exported 有什么区别? 为什么很多第三方服务集成,都需要你自己定义权限?比如小米推送,为什么你要加上 permis…
渗透技巧——利用 tscon 实现未授权登录远程桌面
0x00 前言 Windows 系统下,tscon 可被用来切换远程桌面的会话。正常情况下,切换会话时需要提供登录密码,但通过特殊的利用方法能够绕过验证,不输入…
修改 Conda 环境的安装目录 节省 C盘 系统盘空间
将 Conda 环境目录从系统盘移动到 D 盘可以节省系统盘的存储空间。以下是详细的步骤: 1. 找到当前 Conda 环境目录 通常 Conda 环境会存储在用户目录…
JS 解惑 - setTimeout
关于 setTimeout 的一些理解。 背景 js 不像 java 一样拥有 sleep 的功能,也就是将当前线程暂停一段时间后执行,因为 js 是基于事件机制工作的,所以…
如何检测对象是否循环引用?
例如下面的场景, 已经出现循环引用了, 如何检测? const foo = { foo: "Foo", bar: { bar: "Bar", }, }; foo.bar.baz = foo; // 循环引用! 解答:…
大数据项目实战 - hadoop 集群搭建
主机清单 角色 外网ip 内网ip header 120.77.44.77 172.18.179.240 worker-1 39.108.184.123 172.18.179.241 worker-2 39.108.1.16 172.18.179.242 账…
React Native import 文件的小技巧
开发中经常需要 import 其他 js 文件,如果需要同时导入一些相关的 js 文件时,可以创建一个索引文件方便引用。 第一步:创建 index.js 在 index.js …
发现一个在线体验各个 Linux 发行版的网站
https://distrotest.net/ 这个网站可以让你在线体验各个 Linux 发行版,如果你不确定哪个 Linux 发行版适合你,可以在这里把玩一番再做决定。根据网站…
JavaScript 实现继承
function extend(A, B) { function f() {} f.prototype = B.prototype; A.prototype = new f(); A.prototype.constructor = A; } function A(name) { …
如何禁止普通用户查看 dmesg 信息
dmesg 能够输出 kernel ring buffer 中的内容,这些内容中可能会包含一些敏感信息。 根据 kernel docs 中的说明: This toggle indicates whether unp…
X-Frame-Options 与 iframe 嵌套
莫名其妙碰到一个 bug,我们后台的一个界面,在我们外层界面使用 iframe 嵌套的话,该界面会显示空白,没发出任何请求,而单独打开该界面的话,立马正…