自己在看到一些没见过的反调试技术时,感觉很好奇,不清楚时如何反调试的,但是还是会很努力的去弄懂它们,现在呢,我希望记录下我见过的一些反调试手段,这样后面大家如果碰到类似的反调试技术时,都会很容易理解这段恶意代码的作用了。

1、下图中是通过检测kernel32.dll模块中是否有导出wine_get_unix_file_name函数,来判断当前环境是否是Wine模拟器环境

2、下图中的v3的地址指向的字符串是python.exe,其实sub_401cde函数中是在遍历当前进程中是否有python.exe,这是在检测当前环境是否是在Cuckoo Sandbox中运行

3、下图中lpModuleName = "sbiedll.dll",通过检测当前环境中是否能得到sbiedll.dll模块基址,从而判断它是否运行在Sandboxie环境中

4、摘抄别处的提到的反调试技术

1)BlockInput()函数的调用:该函数在调试会话期间有效,当函数被调用时,鼠标和键盘将会被禁用,而这在实际执行中不会发生。

2)IsDebuggerPresent()和CheckRemoteDebuggerPresent()函数的调用。

3)将无效句柄推送到ntdll.NtClose()或CloseHandle():非常古老且被人熟知的调试器检测方法。

4)LoadLibrary()或LdrLoadDll()函数的调用:使调试会话崩溃。

5)NtQueryInformationProcess()函数的调用:使用ProcessDebugPort类来检查程序是否被调试。

6)OpenProcess()函数和csrss.exe:搜索正在运行的csrss.exe并将其进程ID传递给OpenProcess()以检测程序是否正在被调试。

5、摘抄别处的提到的反分析技巧

1)检查avghookx.dll和avghooka.dll文件的存在。这两个文件是AVG反病毒软件的一部分。

2)调用调用FindWindowW()函数来搜索当前打开的包含以下标题的窗口
OLLYDBG、WinDbgFrameClass、Immunity Debugger、Zeta Debugger、Rock Debugger、ObsidianGui

3)使用GetModuleHandle()函数检查以下动态链接库(DLL)文件是否存在。
SbieDll.dll、dbghelp.dll、snxhk.dll、api_log.dll、dir_watch.dll、vmcheck.dll、wpespy.dll、pstorec.dll

4)枚举并检查当前运行的所有进程,查找以下任何进程是否存在。这些进程同样与恶意软件分析工具有关。

6、摘抄别处的提到的反沙箱技术

1)检查wine_get_unix_file_name()函数是否在“Wine”沙盒环境中运行。

2)检查所使用的文件名是否是“sample.exe”,是否在“C:\\insideTM\\”文件夹中运行。这两点是Anubis沙箱环境的特点。

3)检查登陆用户是否使用以下用户名,这些用户名是沙盒环境常用的用户名:
SANDBOX、MALTEST、MALWARE、VIRUS、TEQUILABOOMBOOM

4)检查所在文件夹名称中是否包含以下字符串。这些字符串同样是沙盒环境常用的文件夹名称:
SAMPLE、VIRUS、SANDBOX

摘抄的链接:http://bbs.360.cn/forum.php?mod=viewthread&tid=14831246&highlight=satan

汇总病毒样本的常用反调试技术、反分析技巧(持续更新)相关推荐

  1. PYNQ实战笔记(一)————常用的代码使用及配置技巧-持续更新

    前言: 代码使用这里不会涉及Python具体demo中的教程,会总结一些比较常用到的一些参数调配等,具体看内容,配置技巧主要用于总结一些使用过程踩过的坑. 常用代码 1,目录查看 !pwd 2,Pyt ...

  2. 恶意软件反检测技术简介:反调试技术解析

    本文中,我们将向读者介绍恶意软件用以阻碍对其进行逆向工程的各种反调试技术,以帮助读者很好的理解这些技术,从而能够更有效地对恶意软件进行动态检测和分析. 一.反调试技术 反调试技术是一种常见的反检测技术 ...

  3. 静态反调试技术(1)

    文章目录 声明 静态反调试目的 注意 PEB https://blog.csdn.net/CSNN2019/article/details/113113347 BeingDebugged(+0x2) ...

  4. 反调试技术揭秘(转)

    在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编之类的方法破解自己.为了了解如何破解反调试技术, ...

  5. windows平台下的反调试技术

    在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...

  6. Windows反调试技术全攻略

    在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...

  7. 如何绕过反调试技术——PhantOM插件总结

    PhantOM是OllyDbg的一款插件,可以用来绕过大多数的反调试技术,功能十分强大,所以单独对这个插件进行使用总结.(Ps:现在似乎不怎么常用,在64位下的兼容性比较差,现在比较常用的是sharp ...

  8. 详解反调试技术(转)

    反调试技术,恶意代码用它识别是否被调试,或者让调试器失效.恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作,因此他们使用反调试技术尽可能地延长恶意代码的分析时间.为了阻止调试器的分析,当 ...

  9. 静态反调试技术(2)

    文章目录 NtQueryInformationProcess() `ProcessDebugPort`(0x7) CheckRemoteDebuggerPresent() ProcessDebugOb ...

  10. 静态反调试技术(3)

    文章目录 ZwSetInformationThread 破解方法 **调试程序代码**: 利用TLS回调函数(详情通过以下链接查看) ETC 破解之法 **调试程序代码**: 篇章大总结: 反调试技术 ...

最新文章

  1. ueditor上传组件显示乱码_最全面的移动端 UI组件设计详解:中篇
  2. 韩国《流感》真实上演,三星、海力士中招,全球半导体版图生变?
  3. 关于libnmap 的一些应用
  4. MySQL语法解析和预处理(Parser Preprocessor)
  5. 缓存击穿/穿透/雪崩
  6. java基础的知识_Java基础知识点(一)
  7. Powershell为接收连接器批量添加RemoteIP地址
  8. BN处理较深的神经网络
  9. python 等差数列list_Python3基础 list range+for 等差数列
  10. 科学计算机算ph,科学计算器TechCalc v4.8.0特别高级会员版
  11. CentOS搭建tg的MTProxy代理
  12. 彩色模型,及RGB,CMY,CMYK,HSI,CIE,YIQ,YUV相互转化及介绍
  13. java实现第六届蓝桥杯分机号
  14. C#:实现Euclidean distance欧氏距离算法(附完整源码)
  15. 计算时间差 html,计算时间差的公式
  16. 干货 :7招帮你打造完美数据科学GitHub作品集!
  17. 01马氏链及其平稳分布
  18. 面向集团客户云计算运营平台的市场情况及产品发展——之云计算运营平台方案(二)
  19. 上机管理系统java_机房上机安排管理系统,基于B/S模式下的JAVA系统
  20. c语言二维图像傅立叶变换,C语言数据结构算法之实现快速傅立叶变换.pdf

热门文章

  1. 什么是APS计划排程系统和生产计划排产系统?
  2. 微分方程建模(人口预测,捕食者猎物)
  3. 爬取实习僧工作岗位信息
  4. 画象棋棋盘c语言程序设计,绘制中国象棋棋盘(c语言).docx
  5. 计算机主机usb端口使用不了,解答电脑usb接口不能用怎么解决
  6. MaskRCNN识别Pascal VOC 2007
  7. iPhone无法更新,一直卡住在“验证更新中”,如何处理?
  8. import time python_import time
  9. STM32 USB HID的GET_REPORT 与 SET_REPORT请求
  10. Oracle Report開發(1)--Oracle Report Builder