自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 如何尽可能的申请高位内存

之前忘了是在那个位置看到这个问题的了 当时看需求应该是要伪装成loadlibrary加载起来的dll当时不知道如何申请高位内存 现在看了windows的内存分配所以尝试了下 发现申请的内存地址确实可以控制在高位 特此记录typedef NTSTATUS (NTAPI *pfnNtAllocateVirtualMemory)(HANDLE,PVOID*,ULONG_PTR,PSIZE_T,ULONG,ULONG);int main(){ HMODULE ntDll = LoadLibra

2021-08-12 17:02:48 706 1

原创 对页表自映射的理解

在当前进程环境下页表被安排到一段连续的虚存空间内 此时页表1对应0~4kb 页表2对应4kb~8kb ..... 是一个顺序存放的4mb空间(虚存的页表占用大小) 由于需要页表自映射 所以我们可以知道在1024个页表当中有那么一张页表 刚好存放的数据和PDT数据相同(指向其他的1023个页表 也就是页目录表) 那么如何计算该页表(页目录表)在4mb空间内的那个地方呢? 前文得知由于页表的存放和内存有一定关系(页表1 ==>0~4096 页表2 ==>4096~8192 ....)

2021-08-09 16:50:55 699

原创 更快理解KMP算法

一般的字符串比较算法是暴力匹配当被比较字符串和比较字符串失配时 比较字符串的当前比较字符转到0被比较字符串也转到上个开始匹配的位置+1这样比较效率通常是极低的KMP算法便是更快速高效的字符串比较算法KMP算法关键是一个模式串的最长公共前后缀 明白了这个含义KMP算法算是理解了大半**最长公共前后缀**倘若有这样一个字符串"ABCBCA"该字符串的前缀集合:A,AB,ABC,ABCB,ABCBC高字符串的后缀集合:A,CA,BCA,CBCA,BCBCA看的出该字符串的最长前后缀为

2020-10-28 17:36:50 646

原创 FPS三角函数Z轴转换

世界坐标转屏幕x坐标还好 网上有大把教程 但是对y坐标要么是讲的笼统 要么是没讲苦苦琢磨 算是搞懂了Y坐标的转换:上图中∠a为玩家仰视角 (该图中假设该角为0°)OB为视线 ∠BOA(coe) 为玩家仰角D点为敌人Z为敌人与玩家的Z轴差距OD为敌人与玩家的二维距离(可由玩家和敌人的三维坐标xy相减 计算求得)上图假设∠a为0° 那么ce的距离通过tan便可求得ce:oe=tan(∠a)oe可以通过fov角 和屏幕宽度计算求得有tan(∠a) = ce\oe = ce = tan(.

2020-08-28 18:05:34 602

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除