摘要: 首先认识一下裸函数,可以看见,当函数中什么也没写编译器也仍然会进行栈的初始化操作,而如果是裸函数,是不会有这些初始化操作的。 不过裸函数中需要至少一个ret返回,不然当程序进行到这里会直接异常结束,因为这里并没有指令。 1.段权限规则 代码段与数据段 堆栈段 段是硬件资源的划分 如何判断运行在3环下 阅读全文
posted @ 2026-11-03 18:11 面面mianmian 阅读(2) 评论(0) 推荐(0)
摘要: 当数据作用于代码段的时候就是d,当作用于数据段的时候就是b 加载进cs时,d/b如果是0的话,在32位默认操作数是16位的 改cs时不能直接进行修改,需要jmp far或者retf进行修改 如图可见在d/b位为0后push 0只push了四位。 这里继续push会发现会被断掉,因为仍然保持在16位 阅读全文
posted @ 2026-11-03 14:30 面面mianmian 阅读(3) 评论(0) 推荐(0)
摘要: 在此之前了解一下16位CPU寻址的原理 系统内存访问是通过分段 即通过 segment:offset。 有六个16位段寄存器:CS、DS、ES、FS、GS和SS。当使用段寄存器(segment registers)时,使用以下符号给出地址 12F3 : 4B27 ^ ^ Segment Offset 阅读全文
posted @ 2026-10-23 18:47 面面mianmian 阅读(5) 评论(0) 推荐(0)
摘要: 先进行简单的静态分析 这里观察到资源是pe文件,很有可能恶意样本会读取其中的内容,这里特别注意一下 进入ida分析 1.位置0x401000的代码完成了什么功能? 判断是否是winlogon程序 所以0x401000是一个比较该进程是否为winlogon的函数 这个api只在windows xp/2 阅读全文
posted @ 2026-10-16 17:53 面面mianmian 阅读(7) 评论(0) 推荐(0)
摘要: 首先进行简单的静态分析 1.这个程序的目的是什么? 这里先介绍一下进程替换的原理,简单上来说就是1.挂起的形式创建进程;2.unmapviewofsetion卸载原内存空间;3.替换我们的代码进内存空间;4.修改上下文 我们这里着重观察一下createprocessA 根据上述的分析,这就是典型的进 阅读全文
posted @ 2026-10-16 17:51 面面mianmian 阅读(6) 评论(0) 推荐(0)
摘要: 首先观察到这个文件的导入函数中有setwindowshook,发现挂钩就要提高警惕,我们点击观察它附近的代码. 这里创建了一个log文件来记录 1.这个恶意负载的目的是什么? 通过分析可以看出来恶意负载实际上是一个键盘的记录器,根据不同的vkcode去跳转表跳转执行自己的操作。 2.恶意负载是如何注 阅读全文
posted @ 2026-10-16 17:49 面面mianmian 阅读(6) 评论(0) 推荐(0)
摘要: 1.在你运行恶意代码可执行文件时,会发生什么? 使用procmon监控系统行为 并没有发现有什么可疑的行为,我们进入procexp观察 也并没有发现什么可疑的进程 2.哪个进程会被注入? 这里我们进入ida进行分析 进程:一个正在运行的程序实例 模块:加载进这个进程虚拟内存里面的pe文件 这里其实有 阅读全文
posted @ 2026-10-13 14:16 面面mianmian 阅读(5) 评论(0) 推荐(0)
摘要: 1.静态分析得到哪些有趣的线索? 动态链接库有个导出函数 2.当运行这个恶意代码时发生了什么? 这里可以发现在系统目录下写入了inet_epar32.dll文件,刚刚在strings中看到了这条路径,这里猜测该dll文件就是本次实验的lab11-03.dll文件,我们对比md5码发现是相同的 说明恶 阅读全文
posted @ 2026-10-09 19:43 面面mianmian 阅读(3) 评论(0) 推荐(0)
摘要: 调用了网络发送接受数据的所有函数 另外观察到这个dll没有导出函数,这是很奇怪的,因为dll文件一般就是为了导出函数给其他的程序使用的 这个dll大致的使用了这些函数,因为有接收、发送的函数,还创建了进程,可以猜测会从远程计算机接收命令。 如果是sleep就休眠,如果不是再cmp,exec,是的话就 阅读全文
posted @ 2026-10-09 14:37 面面mianmian 阅读(4) 评论(0) 推荐(0)
摘要: 首先进行静态分析,可以看到:导入表中存在createservice等等函数,说明可能会创建一个服务来保证自己在系统启动后也能够继续运行,internetopen说明会联网 服务: 观察这段反汇编 这是他的msdn语法,初始是1000,这就是我们的堆栈。(注意:类似这种表的数组第0个元素永远都放在最低 阅读全文
posted @ 2026-10-09 14:34 面面mianmian 阅读(12) 评论(0) 推荐(0)
Live2D