学习:反调试之检测类名与标题名(代码片段)

zpchcbd zpchcbd     2023-05-02     707

关键词:

反调试之检测类名与标题名:通过FindWindow函数来进行反调试

HWND FindWindowA(
  LPCSTR lpClassName,
  LPCSTR lpWindowName
);

返回值
类型:类型:HWND

如果函数成功,则返回值是具有指定类名和窗口名的窗口的句柄。

如果函数失败,则返回值为NULL。要获取扩展的错误信息,请调用GetLastError。

1、这里自己就不重复F9了,还是通过GetProcAddress来间接的给主要的反调试函数下断点,如下
技术图片

2、然后F9进行,首先到的是CreateToolhelp32Snapshot,把当前的所有进程都才能到一个句柄中,然后进行返回

3、紧接着是Process32First,在返回句柄中取出第一个条目放到缓冲区
技术图片

4、接着就是FindWindow函数断点
技术图片

5、然后执行到返回,把当前的OD的句柄值放进eax中
技术图片

6、如果判断成功的话 那么直接ExitProcess
技术图片


反调试之检测类名与标题名的绕过:FindWindow接收两个参数,上面我们可以看到传入的参数为类名,标题名不进行判断
技术图片

直接在判断比较的时候 将ZF标志位置1不进行跳转就可以成功绕过了

技术图片

技术图片

android签名验证与反调试机制的对抗技术(代码片段)

...攻击者动态调试和分析,还做了反调试机制。本文来学习记录下Android签名验证机制与反调试机制的实现原理和其对抗技术。签名验证Android系统使用JAR包的签名机制对APK进行完整性保护,确保APK在不安全的网络传输时的完... 查看详情

《逆向工程核心原理》学习笔记:反调试技术(代码片段)

目录前言一、反调试技术概况二、静态反调试技术1、PEB2、NtQueryInformationProcess()(1)ProcessDebugPort(0x7)(2)ProcessDebugObjectHandle(0x1E)(3)ProcessDebugFlags(0x1F)(4)例子 查看详情

《逆向工程核心原理》学习笔记:反调试技术(代码片段)

目录前言一、反调试技术概况二、静态反调试技术1、PEB2、NtQueryInformationProcess()(1)ProcessDebugPort(0x7)(2)ProcessDebugObjectHandle(0x1E)(3)ProcessDebugFlags(0x1F)(4)例子 查看详情

windows下反(反)调试技术汇总(代码片段)

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

so中函数断点的的反调试检测(代码片段)

反调试简介在apk应用的so文件中函数的指令都是固定,但是如果被下了软件断点,指令就会发生改变(断点地址被改写为bkpt断点指令),可以计算内存中一段指令的hash值进行校验,检测函数是否被修改或被下断点。... 查看详情

《逆向工程核心原理》学习笔记:反调试技术(代码片段)

...密/解密4、StolenBytes5、API重定向6、DebugBlocker结语前言继续学习《逆向工程核心原理》,本篇笔记是第七部分:反调试技术,包括一些静态反调试技术和动态反调试技术值得注意的是, 查看详情

反调试手法之createprocess反调试(代码片段)

...          反调试手法之CreateProcess反调试在学习Win32创建进程的时候.我们发现了有一个进程信息结构体.STARTUPINFO.这个结构体可以实现反调试.具体CreateProcess可以参考上一篇博客.:  https://www.cnblogs.com/iBinary/p/95715... 查看详情

面向对象类与对象(代码片段)

...有两种东西 属性和方法类与对象创建对象的格式 类名对象名=new类名();publicclassCarStringcolor;intnumber;voidr 查看详情

java学习--反射(代码片段)

1.反射的定义反射:(reflection):在运行时期,动态地去获取类中的信息(类的信息,方法信息,构造器信息,字段等信息进行操作)。2.获取类的Class实例的三种方式1.类名.class 2.类的对象.getClass()3.Class.forName(“类的全限定名”) ... 查看详情

ida动态调试破解alicrackme与反调试对抗(代码片段)

文章目录前言APK破解(上)1.1静态分析1.2动态分析反调试对抗2.1Ptrace2.2全局调试2.3反反调试APK破解(下)3.1重新编译3.2动态调试总结前言在前面的文章中IDA动态调试破解EXE文件与分析APK流程介绍了IDA对APK进行动态调试分析的简单流程&#... 查看详情

github上的每日学习10(代码片段)

...const类名&对象名);//赋值构造函数,const的作用,已经学习过引用是可以双向传递的,所以要保证赋值过后就要两个对象无关,所以这时候写const保证是一次赋值。定义类名::类(const类名&对象名)//复制构造函数的实现... 查看详情

面向对象(oop)(代码片段)

学习线路初学:熟悉语法进阶:1、23种设计模式2、6中开发原则高级:1、优化2、架构3、安全概念类:一类具有相同特性的事物的抽象描述,用一个java类表示。成员变量:抽取的属性。方法:抽取的行为。对象:是类的实体。(... 查看详情

面向对象(代码片段)

...个性,比如1:‘vf’,春哥,团团。申明类:class类名:‘类的文档字符串‘#类的静态属性  def__init__(self,参数)    实例化所需要的参数代码  def功能面向对象小结——定义及调用的固定模式class类名:def__ini... 查看详情

Python:类名与文件/模块名相同导致继承问题?

】Python:类名与文件/模块名相同导致继承问题?【英文标题】:Python:Classnamesameasfile/modulenameleadstoinheritanceissue?【发布时间】:2011-01-2412:18:02【问题描述】:我的代码在一个文件中运行良好。现在,我将类分成不同的模块。模块... 查看详情

javascript加密代码反调试

JavaScript奇技淫巧:加密JS代码反调试JS代码混淆加密,已被很多人使用,因为它真的很有用、很实用,可以用于保护代码、防护分析、复制、盗用,还可以用于小游戏过审、APP加固等方面。混淆加密后的JS代码,可能被他人分析... 查看详情

javascript加密代码反调试

JavaScript奇技淫巧:加密JS代码反调试JS代码混淆加密,已被很多人使用,因为它真的很有用、很实用,可以用于保护代码、防护分析、复制、盗用,还可以用于小游戏过审、APP加固等方面。混淆加密后的JS代码,可能被他人分析... 查看详情

android反调试实践(代码片段)

(一)xposed检测1.每一个被hook的进程,都会将xposed的相关库文件和jar文件加载到相应的进程空间中,如图:这里看到进程空间中加载了1)app_process32_xposed2)libxposed_art.so3)XResourcesSuperClass.dex既然能... 查看详情

改善代码质量编程规范-学习总结

命名与注释命名范围项目名包名接口名类名函数名变量名参数名原则建议准确达意对不同作用域,合理选择不同的长度。作用域较小如局部变量,可使用较短的缩写。参考经典开源系统,使用耳熟能详的名字借助上下... 查看详情