hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
书籍阅读

加密与解密 第12章

注入技术 0x01 DLL注入方法 通常情况下,程序加载DLL的实际主要有以下3个: 进程创建阶段加载输入表中的DLL,即俗称“静态输入”; 通过调用LoadLibray主动加载,称“动态加载”; 由于系统机制的要求,必须加载系统预设的一些基础服务模块,如Shell扩展模块,网络服务模块等。 1.1 通过干预输入表处理过程加载目标DLL 当一个进程被创建后,不会直接到EXE本身的入口执行,首先被执行的时ntdll.dll的LdrInitializeThunk函数(ntdll在进程创建的时候就被映射到新进程中了)。L…

2023年10月7日 0条评论 1511点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第11章实验

0x01 输入表 实验环境 推荐使用的环境 备注 操作系统 Windows 10 二进制编辑器 010editor 样例程序 PE32 实验过程 PE文件偏移0x3C处找到PE头偏移0xB0。 NT头的数据目录表找到导入表的RVA,计算File Offset。 IID数组,每个IID包含一个DLL的描述信息。 第一个字段OriginalFirstThunk,指向一个数组,这个数组的元素全是指针,分别指向引入函数名的ASCII字符串。实际是一种,如果OriginalFirstThunk为0,就要看FirstThunk…

2023年10月7日 0条评论 1349点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第10章

VT技术 虚拟化技术(Intel VT-x)相关 0x01 硬件虚拟化的基本概念 VT是指Intel的硬件辅助虚拟化技术(Virtualization Technology),起初时为了提高VMware之类的软件虚拟化性能,由于VT技术引入了一个新的CPU层级Ring-1,所以其在安全方面也增加了很多应用。 1.1 概述 硬件虚拟化引入的新的CPU模式和虚拟化指令集能帮助VMM(Virtual Machine Monitor,虚拟机监视器)提升性能。Intel VT-x为CPU提供了(Virtual Machine…

2023年10月7日 0条评论 1446点热度 1人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第9章

Win32调试API Win32自带了一些API函数。提供了相当于一般调试器的大部分功能,这些函数统称为Win32调试API(Win32 Debug API)。利用这些API,可以加载一个程序或捆绑到一个正在运行的程序上以供调试,可以获取被调试程序的底层信息(例如进程ID,进入地址,映像基址等),甚至可以对被调试程序进行任意的修改。 0x01 调试相关函数的简要说明 记录了一些Win32调试API函数的用法,参数,返回值。 0x02 调试事件 作为调试器,监视目标进程的执行,对目标进程发生的每一个调试事件作出应有的…

2023年10月7日 0条评论 1199点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第7章实验

0x01 WinDbg搭建双机调试环境 实验环境 推荐使用的环境 备注 操作系统 Windows 10 编译器 编译选项 build版本 调试器 WinDbg 虚拟机 Vmware 实验过程 配置虚拟机串口 这里的系统是Win10,XP不一样。 管理员启动CMD,输入以下命令 bcdedit /dbgsettings serial baudrate:115200 debugport:2 // 这里的debugport取决于创建的串口id,我是com2 bcdedit /copy {current} /d Debug…

2023年10月7日 0条评论 1290点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第8章 下

0x01 向量化异常处理 1.1 向量化异常处理的使用 向量化异常处理的基本理念和SEH相似,也是注册一个回调函数。异常发生时会被系统的异常处理过程调用。可以通过API函数AddVectoredExceptionHandler注册VEH回调函数。原型如下 VEH回调函数也形成一个链表。若FirstHandler的值为0,则回调函数位于链表尾部,若参数为非0值,则至于VEH链表最前端。要将该函数的返回值保存下来用于卸载。 VEH回调函数所在的模块被卸载后,系统不能自动将回调函数从VEH链表上溢出,需要程序在退出的过程…

2023年10月7日 0条评论 1316点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第8章 上

Windows下的异常处理 0x01 异常处理的基本概念 中断(Interrupt)和异常(Exception)。中断是由外部硬件设备或者异步事件产生的,异常是由内部事件产生的。 1.1异常列表 异常是应用程序在执行过程中发现的不正常事件。由CPU引发的异常称为硬件异常,如访问无效的内存地址。由操作系统或者应用程序引发的异常成为软件异常。 常见异常如下: 除了CPU能捕获一个事件并引发一个硬件异常外,在代码中可以调用RaiseException函数主动引发一个软件异常。 void RaiseException( D…

2023年10月7日 0条评论 1292点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第7章

Windows内核基础 0x01 内核基础理论 1.1 权限级别 系统内核层,又叫0环(Ring 0);应用层叫3环。实际上是CPU4个运行级别中的一个,运行级别由内到外R0~R3,运行权限依次降低。R0由最高执行权限。 AMD64CPU诞生之后,CPU与操作系统保持一致,只保留了R0,R3两个级别。 HAL是一个可加载的核心模块HAL.DLL,它为WindowsXP上的硬件提供低级接口。WindowsXP的执行体是NTOSKRNL.EXE的上层,内核是其下层。用户层可调用的函数接口在NTDLL.DLL中。 1.2…

2023年10月7日 0条评论 1527点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第5章实验

0x01 非明码比较 实验环境 推荐使用的环境 备注 操作系统 Windows 10 编译器 编译选项 build版本 调试器 OD 实验过程 通过字符串的交叉引用定位到调用MessageBoxA函数之类,随后看其retn的地址时00401232 40134D是成功的MessageBox。 0040137E函数 伪代码翻译: username is char*; while(*username){ if *usernmae < 'A' call errorMessageBox if *username <…

2023年10月7日 0条评论 1300点热度 0人点赞 hu1y40 阅读全文
书籍阅读

加密与解密 第5章

演示版保护技术 0x01 序列号保护方式 1.1 序列号保护机制 1.1.1 将用户名等信息作为自变量,通过F变换之后得到注册码 公式 序列号=F(用户名) 将注册码和用户输入的注册码进行比较,由于负责验证注册码合法性的程序在用户机器上运行,所以用户可以用调试器分析函数F过程。并且计算出来的序列号是以明文形式出现在内存中。也可以通过修改比较指令来绕过注册码检查。 1.1.2通过注册码验证用户名的正确性 公式 用户名=F(序列号) 这里要求F是一个可逆变化。在软件检查注册码的时候,利用可你变换F^-1对用户输入的注册…

2023年10月7日 0条评论 1419点热度 0人点赞 hu1y40 阅读全文
12345…15

近期文章

  • 加密算法
  • 2023年度总结
  • RTSPServer StackOverflow Vulnerability
  • FUZZ 总览篇
  • MP4Box 无限循环漏洞

近期评论

  1. EALSEN 发表在 CVE-2023-40477 Winrar RCE漏洞分析
  2. hu1y40 发表在 钓鱼手法
  3. hu1y40 发表在 Cobalt Strike 初探
  4. hu1y40 发表在 CVE-2010-2553 MicrosoftWindows Cinepak 编码解码器解压缩漏洞
书签
  • neko的博客

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1