摘要:稍稍总结一下在Crack或Rervese中比较常见的一些反调试方法,实现起来也比较简单,之后有写的Demo源码参考,没有太大的难度。 ①最简单也是最基础的,Windows提供的API接口:IsDebuggerPresent(),这API实际上就是访问PEB的BeingDebugged标志来判断是否处
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言这个病毒应该是比较简单的,别人给我的样本,让我帮忙看看,看样子是很早的一个病毒,针对Windows XP系统的,行为分析很简单,但是想着不能就仅仅分析关键点,要不就把整个结构给逆向出来,弄了两天,搞的差不多了,简单的记录一下。0x01 基本介绍整个病毒是4个文件组成:27.exe,27...
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言静态反汇编之王,毫无疑问就是Ida pro,大大降低了反汇编工作的门槛,尤其是出色的“F5插件”Hex-Rays可以将汇编代码还原成类似于C语言的伪代码,大大提高了可读性。但个人觉得“F5插件”只能作为一项辅助手段,在结合动态调试和静态分析之后,了解了整个函数的流程再利用F5看“C语言...
        
阅读全文
 
            
         
        
            
            
摘要:随着64位操作系统的普及,都开始大力进军x64,X64下的调试机制也发生了改变,与x86相比,添加了许多自己的新特性,之前学习了Windows x64的调试机制,这里本着“拿来主义”的原则与大家分享。本文属于译文,英文原文链接:http://www.codemachine.com/article_x...
        
阅读全文
 
            
         
        
            
            
摘要:windows提供的异常处理机制实际上只是一个简单的框架。我们通常所用的异常处理(比如C++的throw、try、catch)都是编译器在系统提供的异常处理机制上进行加工了的增强版本。这里先抛开增强版的不提,先说原始版本。 原始版本的机制很简单:谁都可以触发异常,谁都可以处理异常(只要它能看...
        
阅读全文
 
            
         
        
            
            
摘要:基础知识推荐阅读《软件调试》的第十八章 内核调试引擎我在里直接总结一下内核调试引擎的几个关键标志位,也是TP进行反调试检测的关键位。KdPitchDebugger : Boolean 用来表示是否显示的抑制内核调试, 当启动项中包含 /NODEBUG选项时,这个变量会被置为 TRUEKdDebugg...
        
阅读全文