C/C++一线开发 [2022]WMI 获取系统信息代码 代码示例获取列表: > CPU核心数 磁盘大小 wmi创建进程 创建计划任务 检测上次启动时间 检测上次网卡重置时间 阅读全文 2022-06-14 huoji 0 条评论
系统安全C/C++ [2022] hypervisor: 检测与预防 (一) ### rdtsc 大部分虚拟机包括沙箱用的都存在一个问题 cpuid等一些会造成vmexit的东西, 被硬件加速了 不开虚拟机的时候 只花很少的时间,大于200个CPU周期左右 一旦进了虚拟机 会到大约20000个周期不等 木马 外挂 可以通过判断CPU周期确定自己是不是在虚拟机里 导致沙箱不存活之类的 阅读全文 2022-05-12 huoji 2 条评论
二进制安全 [2022]世界上一样的sha256文件 -驱动加载工具绿色版.exe 又名 InstDrv.exe 这个文件的sha256跟一个病毒文件一模一样 [驱动加载工具绿色版.zip](https://key08.com/usr/uploads/2022/05/233406476.zip) 具体带毒文件 https://www.virustotal.com/gui/file/eda32ed911f2504f40225043dbd571cb5a89e285e6b11b378de4d66af3510830 导致每个看sha256的杀软会报毒 但是每个看sha1或者md5的杀软不会报毒 这是多少分之一的概率.... 并且还是被我搞安全的遇到 这个文件的其他信息 ```cpp MD5:6f356e16020902a77d57fa44ff21c387 SHA1:ee9e2816170e9441690ebee28324f43046056712 SHA256:e0ba184fcf57a48769036984aff2c9700600bfb1a202d58d5a0464b97c66c03a SSDEEP:384:mPlvcAgdVdgLC1JQdIiR2Dh2zbC/nndK27p6sKr:MdNpLl92F2PC/nkucX ``` 阅读全文 2022-05-10 huoji 0 条评论
系统安全 [2022]CPU微码研究 研究一下CPU的微码 这些一些我阅读的书籍/文章: 标准手册: [64-ia-32-architectures-software-developer-vol-2a-manual.pdf](https://key08.com/usr/uploads/2022/04/144627591.pdf) 还能接受: [domas_breaking_the_x86_isa_wp.pdf](https://key08.com/usr/uploads/2022/04/2105204743.pdf) 一点牛逼: [HOW_WE_ACHIEVED_TO_EXECUTE_uCODE.pdf](https://key08.com/usr/uploads/2022/04/1807572259.pdf) 大为震撼: [sec17-koppe.pdf](https://key08.com/usr/uploads/2022/04/4195304335.pdf) 阅读全文 2022-04-16 huoji 1 条评论
C/C++汇编 [2022]关于intel和amd指令行为不一样这件事 ### AMD CPU与INTEL CPU指令解析问题 假设一个情况: ```cpp 66 e8 00 00 00 00 ``` 在x86指令集中 66会作为e8的prefix,覆盖code segment size 假设当前大小为16bit 新大小会为32bit.反之一样. code segment size由 GDT/LDT 决定.实模式一般是16 bit("unreal"模式除外) 在x64中,我发现了一个很有意思的地方: 66 E8作为指令前缀时,AMD和INTEL呈现了完全不同的特性,即amd会遵循规则,将e8的code segment size设置为16bit 而intel则直接忽略. 这个问题已经被发现了有一段时间了,capstone在2016年,记录了这个问题. https://github.com/capstone-engine/capstone/issues/776 这是一个概念性代码,不用CPUID判断出是INTEL还是AMD的cpu. ### 简单的思考: 能否用于混淆? ### poc https://github.com/huoji120/cpu_duck 阅读全文 2022-04-16 huoji 0 条评论