0%

ESXi专为运行虚拟机、最大限度降低配置要求和简化部署而设计。只需几分钟时间,客户便可完成从安装到运行虚拟机的全过程,特别是在下载并安装预配置虚拟设备的时候。

使用官方下载的镜像文件, 默认情况会有一些适应性限制, 平时我们用来个人学习使用, 这些限制就比较多余. 这里记录一下能够修改的一些限制的方法.

阅读全文 »

数据抓包分析在软件开发中是经常出现的一种活动, Wireshark 在数据包分析领域是绝对的一哥, 支持的数据协议数不胜数. 如今这些协议中很大一部分更是逐渐使用 TLS 加持的变种, 正常情况下 Wireshark 看到这些数据包也无能为力, 本文来分析事件一种调测阶段常用的解析 TLS 协议包的方法.

本文所提及内容并非强制解开 TLS 数据包, 而是通过一些手段可以得到 TLS 握手后的对称加密密钥, 实现解析 TLS 数据包的目的.

阅读全文 »

有时候需要检查对端服务器所使用的证书是不是符合预期, 如果是 HTTPS 服务可以通过浏览器来检查, 那如果对端服务器并不是一个 HTTPS 的服务, 那么就可以用下面的命令来检查(当然 HTTPS 也支持, 无差别 TLS):

openssl s_client -showcerts -verify_quiet -connect 6xyun.cn:443
阅读全文 »

遍历文章无数, 都没找到根因.
https://www.baidu.com/s?wd=stm32%20sprintf%20%E6%AD%BB%E6%9C%BA

最终在 STM32CubeIDE FreeRTOS 使用 printf 进入 HardFault_Handler 找到了根源, 记录一下.

创建多个任务,并在任务中使用 printf 串口打印,程序会进入 HardFault_Handler 中断,经查,是因为任务栈分配的太小导致的,STM32CubeIDE 中的 FreeRTOS 默认堆栈大小为 128,更改为 512 即可。

阅读全文 »

当你在处理文本文件时,复制,剪切,粘贴文本是最常用的操作。

Vim 以及它的前辈 VimacOS 和基本上所有的 Linux 版本上都预装了。在你喜欢的编辑器还没有安装的情况下,对 Vim 有一些基本了解是很有用处的。

本文展示在 Vim/Vi 编辑器中如何拷贝,剪切以及粘贴。

阅读全文 »

转自:https://www.zhihu.com/question/41003297

一、源码分析

  1. clearCallingIdentity 方法,最终调用如下:

    int64_t IPCThreadState::clearCallingIdentity()
    {
        int64_t token = ((int64_t)mCallingUid<<32) | mCallingPid;
        clearCaller();
        return token;
    }
    
    void IPCThreadState::clearCaller()
    {
        mCallingPid = getpid(); //当前进程pid赋值给mCallingPid
        mCallingUid = getuid(); //当前进程uid赋值给mCallingUid
    }
    
    • mCallingUid(记为UID),保存 Binder IPC 通信的调用方进程的 Uid
    • mCallingPid(记为PID),保存 Binder IPC 通信的调用方进程的 Pid

    UIDPIDIPCThreadState 的成员变量, 都是 32 位的 int 型数据,通过移位操作,将 UIDPID 的信息保存到 token,其中高 32 位保存 UID,低 32 位保存 PID。然后调用 clearCaller() 方法将当前本地进程 piduid 分别赋值给 PIDUID,最后返回 token

    一句话总结:
    clearCallingIdentity 作用是清空远程调用端的 uidpid,用当前本地进程的 uidpid 替代;

阅读全文 »

办法一

阻止安装程序(Set-up.exe/PDapp.exe)连接网络:

  • 通过系统防火墙
  • 通过三方防火墙

办法二

通过 HOSTS 拦截:

@ECHO OFF

ATTRIB -r %WINDIR%\system32\drivers\etc\hosts

CALL :WRITE 3dns-2.adobe.com
CALL :WRITE 3dns-3.adobe.com
CALL :WRITE activate.adobe.com
CALL :WRITE activate.wip3.adobe.com
CALL :WRITE activate-sea.adobe.com
CALL :WRITE activate-sjc0.adobe.com
CALL :WRITE adobe.tt.omtrdc.net
CALL :WRITE adobe-dns.adobe.com
CALL :WRITE adobe-dns-2.adobe.com
CALL :WRITE adobe-dns-3.adobe.com
CALL :WRITE ereg.adobe.com
CALL :WRITE ereg.wip3.adobe.com
CALL :WRITE hl2rcv.adobe.com
CALL :WRITE hlrcv.stage.adobe.com
CALL :WRITE ims-na1.adobelogin.com
CALL :WRITE ims-prod06.adobelogin.com
CALL :WRITE ims-prod07.adobelogin.com
CALL :WRITE lm.licenses.adobe.com
CALL :WRITE lmlicenses.wip4.adobe.com
CALL :WRITE na1r.services.adobe.com
CALL :WRITE na2m-pr.licenses.adobe.com
CALL :WRITE oobe.adobelogin.com
CALL :WRITE practivate.adobe.com
CALL :WRITE wip.adobe.com
CALL :WRITE wip3.adobe.com
CALL :WRITE wwis-dubc1-vip60.adobe.com

ATTRIB +r %WINDIR%\system32\drivers\etc\hosts

PAUSE
EXIT

:WRITE
ECHO WRITE HOST %1
FIND /C /I "%1" %WINDIR%\system32\drivers\etc\hosts > nul
IF %ERRORLEVEL% NEQ 0 ECHO ^127.0.0.1	%1>>%WINDIR%\system32\drivers\etc\hosts
ECHO.
GOTO :EOF