- 博客(13)
- 收藏
- 关注
原创 python编译的exe之反编译
python 可通过pyinstaller 以及py2exe 编译脚本为exe,下面主要针对这两种方式生成的exe进行反编译。
2024-05-23 21:50:04 3097
原创 Delphi木马分析
2、左边的函数窗口,寻找FormCreate以及Timer相关的函数。1、一般拿到的Delphi 程序,初始界面如图,不会有什么关键信息。FormCreate 函数。3、分析以上函数即可。Timer相关的函数。
2024-05-23 21:46:00 140
原创 一个chm恶意文件分析
这些参数包括 Command(表示执行类型)、Button(表示按钮样式)、Item1 和 Item2(表示快捷方式的属性)。cfx 的作用是创建C:\ProgramData\Iconcache.dat"并解码成C:\ProgramData\Iconcache.vbs,vbs的内容为。在html 中有两个OBJECR标签,标签的作用是创建一个 ActiveX 控件,在页面上创建快捷方式,随后调用click函数从而执行快捷方式对应的内容。wsy的功能为执行vbs ,下载文件并执行。
2024-05-23 21:44:11 177
原创 C# 恶意程序分析
运行恶意程序后,打开MegaDumper.exe ,找到对应的进程,右键dump,把所有的模块全部dump下来,该工具还有很多其他有用的功能,可以探索下。方法2 :使用MegaDumper.exe (github上有)主要用于调用Invoke函数加载解密后的PE的方法的调试。定位Invoke函数,点击进入函数内部,不断F11进去。通过这个方法,我找到了对应的加载的恶意payload。下一步就进去目标PE的方法入口了。方法1:使用工具:Dnspy。一、C# 恶意程序分析。
2024-05-23 21:42:12 168
原创 对抗反汇编分析的几种情况
前面的例子就是把自己的异常处理加入到链表的头部,然后用除0来触发异常,进而执行自己的代码。SEH链是一个函数列表,处理线程的异常,列表中的函数要么处理异常,要么向下传递,如果传递到最后一个异常处理函数,就会被认为是一个不能处理的异常,弹出“an unhandled exception has occurred ”。这样显然很正确了,对于call 指令而言,如果后面四个字节跟的是地址,它对应的机器码是0xe8,此处显然是把数据0xe8当成了call指令,才会出现这样的问题。
2024-05-23 21:37:27 366
原创 内存分页原理学习
② 判断PDE的PS位,如果为1,代表这个PDE指向一个4MB的大内存页,PDE的高10位便是4MB内存页物理地址的高10位,线性地址的低22位是页内偏移。32位的线性地址被分成2-9-9-12,其中2位的页目录指针索引,9位的页目录表项索引,9位的页表表项索引,12位的页内偏移。CR3:页目录基址寄存器,保存页目录表的物理地址,该寄存器的12-31位(高20位)保存页目录的地址,低12位保存主要有两个标志位PCD和PWT,控制处理器内部中的分页缓存。位16(WP位)则是写保护位。
2024-03-28 22:01:51 935
原创 监控API调用的windbg 插件 Logexts
显示或者修改输出选项,这里有三种输出方式:1.在调试器中显示,2.输出到一个文本文件,3.输出到lgv文件。由于如果在监控过程中发生异常,那么扩展可能无法将记录的日志写入文件中,这个时候我们就需要这个命令,手动的将缓存中的数据写入文件。病毒分析时,对一些程序需要快速分析其功能,需要知道其API调用都有哪些,windbg 提供了一个插件可以实现这个功能,这个插件就是logexts。开启监控,如果之前没有调用logexts.logi,这个扩展命令会先初始化监控,然后启动。显示或者控制监控的API分类。
2024-03-28 21:59:25 244
原创 对抗反汇编学习
SEH链是一个函数列表,处理线程的异常,列表中的函数要么处理异常,要么向下传递,如果传递到最后一个异常处理函数,就会被认为是一个不能处理的异常,弹出“an unhandled exception has occurred ”。线性反汇编和面向代码流的反汇编:线性反汇编是遍历一个代码段,一次一条指令的线性反汇编,不考虑代码流的控制指令。这样显然很正确了,对于call 指令而言,如果后面四个字节跟的是地址,它对应的机器码是0xe8,此处显然是把数据0xe8当成了call指令,才会出现这样的问题。
2024-03-20 22:57:04 352
原创 32位程序段跳转执行64位shellcode
随后执行NtCreateThreadEx, 参数分布如下:根据 fastcall 调用约定,前四个参数由寄存器传递( RCX、RDX、R8、R9),其他参数由 RSP+0x20 开始压栈,所以可以看出线程函数地址为020f0000。逆向分析一个样本过程中,发现32位程序执行了64位shellcode,通过段跳转实现。找到对应的进程ID,线程函数为020f0000,windbg 调试即可。( cs:eip cs在x32下为0x23,在64位下为0x33)执行6140863,修改CS为0x33,随后返回。
2024-03-18 22:20:37 441
原创 动态快速分析之查找字符串
很多恶意代码喜欢注入进程到其他程序中从而隐蔽执行恶意代码,这是情况下想要快速的分析调试该程序是比较麻烦的,这里可以通过把用ProcessHacker 监控目标程序,对注入的进程进行内存dump 以及字符串查找,从而快速定位样本功能和行为。下载链接: https://sourceforge.net/projects/processhacker/files/processhacker2/processhacker-2.39-setup.exe/download。
2024-03-18 22:15:43 398
原创 调试VBS步骤记录
经常出现打开调试即运行,这时可以在脚本开头加入 MsgBox(“Hello world”) 以阻塞程序运行,然后下断点,再点击确定即可。windows +R 在运行框输入wscript /x vbs文件路径,启动调试。调试环境 Visual studio 2013。VBS来源于一个宏样本,释放了VBS并运行。
2024-03-18 22:12:35 707 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人