1.程序窗口[chuang kou]句柄[ju bing]检测原理:用FindWindow函数[han shu]查找[cha zhao]具有相同窗口[chuang kou]类名和标题的窗口[chuang kou],如果找到就说明[shuo ming]有OD在运行[yun hang]//********************************************//通过查找[cha zhao]窗口[chuang kou]类名来实现检测OllyDBG//*****************…
1.程序窗口[chuang kou]句柄[ju bing]检测原理:用FindWindow函数[han shu]查找[cha zhao]具有相同窗口[chuang kou]类名和标题的窗口[chuang kou],如果找到就说明[shuo ming]有OD在运行[yun hang]//********************************************//通过查找[cha zhao]窗口[chuang kou]类名来实现检测OllyDBG//*****************…
1.加载调试符号链接文件并放入d:/symbols目录下. 0:000> .sympath srv*d:\symbols*http://msdl.microsoft.com/download/symbols Symbol search path is: srv*d:\symbols*http://msdl.microsoft.com/download/symbols Expanded Symbol search path is: srv*d:\symbols*http://msdl.micros…
0x00  写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP(即"Android 开放源代码项目",可以理解为原生安卓源码)进行修改,然后编译成二进制镜像再刷入Nexus 或者Pixel 等 谷歌亲儿子手机.但因为谷歌的亲儿子在国内没有行货销售渠道,市场占有率更多的是国产手机,而修改国产手机系统内核的教程却很少,加之部分国产手机的安卓内核和主线 A…
C/C++ 要实现程序反调试有多种方法,BeingDebugged,NtGlobalFlag,ProcessHeap,CheckRemoteDebuggerPresent,STARTUPINFO,IsDebuggerPresent,父进程检测,TLS 线程局部存储,RDTSC时钟检测反调试,MapFileAndCheckSum,等都可实现反调试,这里我分别编写了一些案例,基本上一锅端了. 使用WinDBG随便载入一个二进制文件,并加载调试符号链接文件. 0:000> .sympath srv*c…
反调试原理 很多时候,我们都需要进行修改修改应用程序的指令,然后重打包运行,重新打包就需要充签名. 利用签名的变化我们用于反调试.反调试实现代码如下: 为了更加隐藏,比较函数可能在SO层进行实现,如下, 还可以实现的更隐藏   解决方案: 通过全局搜索getPackageInfo 等关键字,找到相关逻辑. 然后修改逻辑!!  …
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/57086486 0x1.手机设备环境 Model number: Nexus 5 OS Version: Android 4.4.4 KTU84P Kernel Version: 3.4.0-gd59db4e 0x2.Android内核提取 查找Android设备的boot分区文件.高通芯片的设备可以通过下面的命令进行查找. cd /home/androidcode/Android…
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78237571 1.调用Debug.isDebuggerConnected函数这种反调试的Android加固比较少,主要是因为Debug.isDebuggerConnected这种方法的反调试作用不大,过掉也比较容易.百度的Android应用加固使用了调用Debug.isDebuggerConnected函数检测程序被调试的反调试方法. 2.绕过基于Debug.isDebugger…
在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术,首先我们来看看反调试技术. 一.Windows API方法 Win32提供了两个API, IsDebuggerPresent和CheckRemoteDebuggerPresent可以用来检测当前进程是否正在被调试,以IsDebuggerPresent函数为例,例子如下: BOOL ret = Is…
Linux下的反调试技术 2014年01月30日 ⁄ 综合 ⁄ 共 2669字 ⁄ 字号 小 中 大 ⁄ 评论关闭 转自  http://wangcong.org/blog/archives/310 如何防止自己的程序被调试器跟踪,这是一个很有趣的话题,也是反逆向工程中的一个重要话题.这里简单介绍一下Linux平台上的反调试技术. (本文主要参考:http://blog.txipinet.com/2006/10/05/37-tecnicas-anti-debugging-sencillas-pa…