系统安全C/C++ [2018]在 Windows 10 上 WriteProcessMemory 比 NtWriteVirtualMemory 慢很多 WriteProcessMemory 不仅仅是一个NT包装函数,它还执行一些额外的工作(例如保护内存、刷新指令等) 通过逆向WPM 调用 NtQueryVirtualMemory 来确定我们正在写入的区域中页面的访问保护。如果访问保护不是正确的,WPM 将设置 ACCESS_VIOLATION 错误代码并返回(如果访问保护是 PAGE_NOACCES 或 PAGE_READONLY)。 如果没有,它会调用 NtProtectVirtualMemory 设置适当的访问保护。检查之后,函数调用 NtWriteVirtualMemory 和 NtFlushInstructionCache,对它们进行更多检查,然后返回。 这就是为什么慢的原因 阅读全文 2023-09-10 huoji 0 条评论
C/C++汇编 [2023]VMP 3.x的vPop 好像逛了一圈网上都没有VMP3的vPop的handle的代码,这里是这部分的代码,vPop有两部分实现 这是模式匹配的伪码: ```cpp Vmp3 vPop: 1. mov %pop_size:%pop_reg, [%vsp] add vsp, %pop_size mov op_size, %op_size:[VIP] 2. mov %op_reg, %op_size:[VIP] mov %pop_size: %pop_reg,[VSP] add vsp, %pop_size ``` 这是FDJ里面的实现+注释:  阅读全文 2023-07-09 huoji 0 条评论
系统安全二进制安全C/C++一线开发 [2023]基于ebpf的进程监控实现python + CPP两个例子 python写的demo,用ebpf监控进程创建和退出.内核做不太行,因为内核做目前新Ubuntu不导出excute、fork的东西了(草) 我写了两个demo,一个是python的用于体验ebpf,另外一个是C++的,用于我的"安全鸭"项目 ebpf唯一的问题是栈太小了,导致某些信息需要异步查询,比如进程路径和父进程路径,不知道有没有大哥给出点好的方案 这是python的简单实现: 阅读全文 2023-05-09 huoji 0 条评论
系统安全二进制安全C/C++一线开发 [2023]Linux内核用于IP地址过滤的自增hash表与一个坑 这是linux下我写的用于我的"安全鸭"项目的的hash表,用于netfilter的恶意IP过滤和SYN攻击拦截.看到也没啥公开轮子,就发到这边吧.另外有个hash表的坑不知道有没有大哥能解释一下 坑就是,我使用的hash函数 ``` int idx = hash_32(ip_address_key, table->bucket_num); ``` 是有问题的,对于某些IP地址,会报: ``` shift exponent 4294966328 is too large for 32-bit type 'unsigned int ``` 但很明显netfilter传进来的ip_address是u32,不可能超的,不知道哪里错了,不管他了 源码: ip_hashmap.c 阅读全文 2023-05-09 huoji 1 条评论
APT研究系统安全工具软件二进制安全C/C++一线开发 [2023]Windows X64 Rookit对抗 随着github开源项目越来越多,小黑们的技术水平也在越来越提高,这几天,在处理应急响应的时候,我注意到一个开源的被滥用的rootkit正在使用 即 `autochk.sys` 阅读全文 2023-03-07 huoji 0 条评论
二进制安全C/C++ [2023]VMP还原day3:模式匹配寻找VIP/VSP和Flow Entry 在找到vmstub后.我们需要开始做一些基本的操作,获取一些基本的信息.在此之前,介绍一下我们的基本思路 -模式匹配 阅读全文 2023-02-20 huoji 0 条评论