windows逆向
文章平均质量分 78
四位
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
滴水逆向三期15611 进程通信 项目练习
进程通信联系概要步骤进程通信为什么要进程通信命名管道dll 无模块注入为什么必须是dllshellcode 注入模块注入shellcode 部分Extract代码概要最终效果创建进程通信通信测试IATHOOK 剪切板内容inlineHook 创建进程文章分如下几部分步骤进程通信dll注入问题总结本篇文章不是一个实现过程, 而是一个关于这个项目的一个总结, 包含了比较多外链, 帮助更好的理解.步骤实现进程通信无模块注入dllhook进程通信原创 2021-01-10 19:02:34 · 2083 阅读 · 0 评论 -
滴水逆向三期 内存注入/无模块注入
找文章看了一下, 讲的很好, 但是地址没了…尴尬, 03年的技术, 大致内容就是介绍了两种注入技术, 一个为常规的远程线程注入, 另一个就是内存注入. 只不过文章思路是只插入一段代码, 也就是编写shellcode. 而无模块注入则是将模块整体以内存写入的形式加载实现隐藏 .杀软依然秒杀…但是我封装起来写后就检测不到, 特征码竟然消失了…原理与问题思路是将自己复制一份加载到目标进程中, 即注入进程和寄生程序是一个东西.不过想想也知道, 注入dll也是一个原理, 无非是拉伸之后再贴到目标进程, 最后依然原创 2021-01-05 19:32:04 · 3888 阅读 · 5 评论 -
vs linker 链接器 Pe相关属性fixed base address/randomized/
文章主要针对在学习逆向使用新工具时, 某些功能带来的干扰.具体情况就是一个软件没有重定位表怎么修改ImageBase呢…Base Address设置基地址, 这个很好理解, 所有的全局变量/函数地址都以这个为基准, 编译时确定.Randomized Base Address随机基地址, 也就是ASLR技术, 相信用比较新的系统学习的朋友对这个深有体会, 上篇文章里面也有对此的介绍.Fixed固定, 也就是固定基地址, 也是这篇短文重点介绍的…首先要明确的一点是该选项和aslr是冲突的. 即原创 2021-01-04 22:14:44 · 784 阅读 · 0 评论 -
滴水逆向三期 win10 ASLR UnmapViewOfSection傀儡进程 加密壳项目
特意加了一个win10标题, 碰到0xc0000005的朋友就不要再浪费时间了, 我在这个问题上花了整整一天概要利用挂起创建进程, 然后卸载源程序(以下统称src)镜像(ps: 非必须选项),原创 2020-12-27 15:43:04 · 3704 阅读 · 8 评论 -
逆向学习 指针数组与数组指针
概要指针数组Array of pointers和char a[10], short b[10], int c[10]一样, 指针数组就是数组, 不过是里面存放的类型是指针数组指针A pointer to an array和char* a, short* b, int* c一样, 一个指向数组的指针int(*arr)[10]代表arr指向一个有10个存储空间的数组的地址分析...原创 2020-04-18 20:05:57 · 319 阅读 · 0 评论 -
逆向学习 小数在内存中存储方式
一般步骤将其绝对值转换为二进制小数点左移或友移n位, 直到移动到第一个有效数字的右边符号位负则1 正则0指数部分根据第二步移动方向 左为1 右或不移动为0填入指数部分第1位n-1的二进制填入指数部分后7位, 8位时取后七位小数点右边开始依次填入尾数部分 不足补0转换十六进制float 12.5为例一 12.5 = 1100.1二 1100.1左移动三位1.1001三 0...原创 2020-04-05 18:26:29 · 197 阅读 · 0 评论 -
逆向学习 堆栈图
介绍记录一下自己学习逆向的过程,也可以强制自己能够理解而不是看一遍一代而过一知半解,算是从零开始。逆向代码跟着视频学的,这里的例子并没有提供正向代码不过很简单不影响,重点是为了理解堆栈。0040118E |. 6A 09 PUSH 900401190 |. 6A 0C PUSH 0C004011...原创 2020-04-04 01:44:48 · 408 阅读 · 0 评论 -
滴水逆向三期 PE解析 资源表
概要资源表采取目录的形式, 就和我们常用的访问文件夹性质是一样的, 每一级都是同一结构, 每一级之前又有一个结构来判断当前级是否为目录.文章采用两种方式来理解利用文件目录理解根据结构解析代码实现分析根据结构解析文件结构:注意事项:结构中涉及的偏移计算方式均为 第一个目录(DataDirectory[2]所指向的结构)的偏移加上其值譬如本例中所有偏移均已pResourceDirectory的地址作为基准. 故定义变量dwPRD指代其值一 目录表定位到资源表位置可以看到红色标红两项原创 2020-06-16 22:19:02 · 1855 阅读 · 1 评论 -
滴水逆向三期 使用DialogBox创建文件后Messagebox无响应 没法被关闭
刚开始是发现发现主窗口点关闭无法响应, 然后学着demo加了return DefWindowProc接着奇怪的事情发生了, 按钮产生的Messagebox无响应,没法关 移动, 去掉DefWindowProc正常, 查阅资料后发现在文档中已经规定了当使用资源文件创建窗口时应该注意的事项如下:返回值中规定了如果是自己处理的函数需要return TRUE需要交给系统的则return FALSE下面的注意事项禁止使用DefWindowProc来处理不想处理的消息, 如果不想处理返回FALSE即可.一开原创 2020-06-13 15:48:29 · 510 阅读 · 0 评论 -
滴水逆向三期 PE基础 移动导入表与导入表注入
目录分析大致流程具体实现步骤移动导入表1 移动整体结构 完成导入表注入需要的操作2 改变name3 改变OriginalFirstThunk4 改变INT(可以选择把IAT置0或者不管 FirstThunk不改变即可)整体代码导入表注入1改变OFT FT NAME2 设置INT很多问题分析大致流程一 遍历所有导入表, 如果遇到0结束遍历, 如果要加进去一个, 那么原有导入表目录最后需要至少有14h*2的空闲空间.二 如果没有那么要先进行移动导入表的操作. 在移动导入表操作中会碰到空闲空间不够, 那么原创 2020-05-27 10:59:43 · 1222 阅读 · 1 评论 -
滴水逆向三期 PE基础 移动重定位表与修改IMAGEBASE
分析一 移动重定位直接把整张表复制后修改目录表的RVA即可二 修改ImageBase①首先当然是修改ImageBase②遍历重定位表中的数据加上新旧ImageBase的差值, 就是在打印的基础上加上修改数据重定位表的结构SECTION为所属区段, RVA为大表, items为有多少数据(SizeofBlock-8)/2 因为小表为wordRVA为要修改数据的地址(非真实地址) offset为文件偏移 type为数据属性FarAddress为真正的地址也是修改imagebase后应该修改原创 2020-05-16 15:30:25 · 2261 阅读 · 0 评论 -
滴水逆向三期 PE基础 移动导出表
分析要移动导出表, 需要改变的地方有:1 DataDirectory[5]->VirtualAddress2 ExportDirector中的三个地址代码按照课程内容的顺序依次进行步骤如下:新增节省略初始化Header header;SList slist;DWORD fileSize = 0;DWORD foaOfNewSection = 0;DWORD foaExportDirectory = 0;PIMAGE_DATA_DIRECTORY pDataDirector原创 2020-05-16 13:15:29 · 725 阅读 · 0 评论 -
滴水逆向三期 PE基础 绑定导入表
分析系统软件会有绑定导入表 也就是IAT已经被设定为函数地址, 但是WIN10中即便是记事本也没了, 只能用xp的notepad代替.这个表的目的是减少程序启动时间, 在导入表中时间戳为-1时代表有绑定导入表.OffsetModule这个值需要加上第一个IMAGE_BOUND_IMPORT_DESCRIPTOR的地址, 而不是当前dll的地址NumOfModuleForwarderRefs表示当前dll所需要的其它dll, 在当前绑定导入表之后紧跟的结构就是typedef struct _IMA原创 2020-05-18 17:30:28 · 434 阅读 · 0 评论 -
滴水逆向三期 PE基础 导入表解析
假的分析在学习这节的时候第一遍并没有弄懂到底怎么回事, 等遍历完了再回头去看才懂, 推荐可以先把表打印出来再体会表结构.真的分析软件依然是某云音乐的主程序.按照顺序依次为1 遍历 _IMAGE_IMPORT_DESCRIPTOR2 遍历OriginalFirstThunk中的ThunkValue偏移3 遍历打印ThunkValue(本身还是偏移)4 遍历IMAGE_THUNK_DATA32(ThunkValue所指向的值)1 打印重要基础数据while (pImportDescrip原创 2020-05-17 21:38:19 · 803 阅读 · 0 评论
分享