shellcode的分析调试小技巧 分析shellcodeOD有一种简单的分析shellcode的方法。 第一步首先是复制shellcode 这里我用自己写的弹窗小程序,并且使用十六进制编辑器WINHEX进行复制。 第二步然后是打开OD,附加任意一个程序,打开内存映射窗口,快捷操作就是上面的M,然后寻找类型为Priv的内存区域(这是分配给进程的私有内存,与只读的可执行镜像不同,这些内存被多个进程共享),选择它。 第三步选中一大片区 2021-08-31 病毒分析 逆向工程 病毒分析 shellcode
功能技术远程CMD 远程CMDCMD,提示进行命令输入的一种工作提示符,在windows系统下,相当于在windows窗口使用的DOS系统,简单来讲,CMD就是通过命令行实现键鼠的操作。 现在介绍的远程CMD是指病毒木马获取控制端发送过来的CMD命令,执行后将结果回传给控制端。 有许多的API都可以实现CMD命令,比如WinExec,CreateProcess但是这些函数不能获取执行后的操作结果。所以实现远程CMD的 2021-08-30 黑客编程 恶意代码 黑客编程 功能技术
熊猫烧香病毒分析 前言熊猫烧香做为非常经典的病毒之一,可以说已经被分析烂了,网上也有许许多多的分析流程。作为病毒分析的一个初学者,我现在也尝试分析一下熊猫烧香,争取能够分析的比较清楚, 也能够学到一些东西。 样本信息样本的基本信息 行为分析使用Process Monitor监控行为 可以看到panda.exe向C:\Windows\System32\drivers文件夹下释放了一个文件spcolsv.exe 启 2021-08-19 病毒分析 逆向工程 病毒分析 熊猫烧香
功能技术-文件遍历 文件遍历文件搜索功能是应用程序中最常见的功能之一,同时对于恶意代码来说也是常见的功能,比如勒索病毒就会有大量的文件操作,遍历文件来对文件进行加密。 实现文件遍历的方法有很多,最常见的便是通过API实现,这里主要涉及的是FindFirstFile,FindNextFile以及FindClose等。 函数介绍FindFirstFile在目录中搜索名称与特定名称匹配的文件或者子目录。 1234HANDL 2021-08-17 黑客编程 恶意代码 黑客编程 功能技术
功能技术-进程遍历 进程遍历进程遍历就是遍历当前计算机上所有的进程信息,对于恶意代码来说,可以通过遍历获取进程的信息,可以通过这些信息来判断是否存在指定的进程,比如调试器、杀毒软件。遍历进程的方法有很多,最常用的就是通过进程快照来实现。 函数介绍CreateToolhelp32Snapshot获取指定进程的快照,以及这些进程使用的堆、模块和线程。 1234HANDLE CreateToolhelp32Snapshot 2021-08-17 黑客编程 恶意代码 黑客编程 功能技术
恶意代码分析实战-实验7 Lab 7-11.当计算机重启,这个程序如何确保它继续运行(达到持久化驻留)?创建了一个系统服务来随系统启动,可以看到StartServiceCtrlDispatcherA函数。其中还有一个结构 ServiceStartTable。 1234typedef struct _SERVICE_TABLE_ENTRYA { LPSTR lpServic 2021-08-16 恶意代码分析实战 逆向工程 病毒分析 Lab
160CrackMe-011 初探打开程序看到主界面,不可以输入任何字符,只可以点击下面的这个小键盘来进行输入,右边提示一个状态上面写着未注册,猜测成功的话这里应该会发生变化,下面开始分析一下。 分析无壳,使用VB语言编写 使用OD,直接搜索字符串,就可以搜索到一大串类似注册码的字符串和REGISTRIERT。 进入查看,可以看到在关键跳转前有一个比较,猜测应该是输入的内容经过一个计算之后与这个字符串进行比较。 查看栈 2021-08-16 CrackMe 逆向工程 CrackMe
160CrackMe-010 初探打开程序,看到只有一个输入key的地方,尝试输入发现弹出错误的弹窗。 分析无壳,用VB语言编写的。 使用OD打开,直接搜索错误的字符串,可以定位到关键的跳转,在上面就是一个比较函数,而其中又有一串字符串”kXy^rO|yXom\kMuOn*+”,这个应该就是用来比较的了吧,函数头部下断开始分析。 流程较短也比较简单,前面还有一个获取输入的长度,就不在分析了,直接看关键的计算部分。 获取输 2021-08-13 CrackMe 逆向工程 CrackMe
恶意代码分析实战-实验6 Lab 6-11.由main函数调用的唯一子过程中发现的主要代码结构是什么?使用IDA找到main函数看到调用了一个子函数sub_401000,F5即可看到伪代码。 可以看到调用了InternetGetConnectedState这个API,这个函数是用来检测是否联网的,判断本地网络状态。 1234BOOL InternetGetConnectedState( LPDWORD lpdwFlag 2021-08-10 恶意代码分析实战 逆向工程 病毒分析 Lab
160CrackMe-009 前言这个VB的程序,调用的时候都是传入一个地址,然后地址直接查看是什么也看不到,没有什么有用的,分析起来看得人一头雾水。查了资料之后才知道,VB的变量特征是前两个4字节都是一些数据类型,第三个四字节才是变量,相当于是首地址+0x8的地方。 比如此时寄存器中值是18F3F4,它实际存储的值是18F3FC处的数据。 初探打开程序,看到需要输入name和key输入后弹出错误的提示框。 分析查壳,无壳 2021-08-09 CrackMe 逆向工程 CrackMe