OD学习记录19.04.20

绕过daxxor对OD的检测

起手时一般直接使用OD运行程序,观察是否有壳或者反调试检测。按下图情况运行后一直提示不能调试的错误弹窗,所以是存在对程序本身有检测是否是在OD中运行,关闭后OD直接结束程序进程。所以我们需要想办法绕过程序本身对OD的检测。
在这里插入图片描述
以上是使用OD运行daxxor的结果
查找当前模块中的名称,可以看到有很多API函数,但都不是用于检测进程名的,可能这些重要的API函数被隐藏起来了,没有出现该列表中。很显然如果程序不直接导入某些API的话,会使用GetProcAddress这个API 函数来获取这些API函数的地址进行间接调用。
在这里插入图片描述
紧接着我为他设置断点再运行起来看是不是能在结束前将程序停下。结果第一次运行停下了,但是没有发现有用的线索直到一直按F9到出现了EnumProcesses的函数(如图)。接下来要运行的下一个函数就是EnumProcesses,接着CLTR+F9将该函数地址交由EAX显示。
在这里插入图片描述
EAX中是该函数的地址。
在这里插入图片描述
又因为我发现这个函数在当前模块中的名称没有直接显示所以要使用给地址设置断点的方式断下来
在这里插入图片描述
设置成功。
在这里插入图片描述
我给这些通过GetProcAddress加载的API设置断点,并且断下来了,但是OD并没有在API函数列表中找到与之对应的项,所以OD也没有提示该函数相关信息,线索也因此断了下来。
百度搜索EnumProcesses,得到有用的解释是该函数返回正在运行的每个进程的标识即PID。PID是系统分配给每个正在运行的进程的标识符-每次启动的时候都会发生变化。观察进程列表。
—————————————————————————————————————————————————————
发现PID为724
724转化成十六进制就是2d4。
在这里插入图片描述
在机器上12EDE4该地址指向了保存所有进程PID的数组,执行到返回看看该API函数返回了什么,通过数据窗口查看一下。在PID列表中我们找到了OD的PID的值,给该PID设置内存访问断点,看看哪里使用了它。
在这里插入图片描述
在这里插入图片描述
可以看到这里将要调用OpenProcess,如果调用成功,就会获取OD进程的句柄。句柄实际上是一个指针,它指向一个包含具体数据结构的内存,可能当做索引,所以句柄是你每次访问该进程的时候获取的,使用完毕后要释放,然后通过该句柄可以对该进程进行相应操作。

返回值为指定进程的句柄。
我们F8单步直到调用该函数。
在这里插入图片描述
看到了EnumProcessModules这个函数,该函数是枚举指定进程的模块,F7键跟进到该函数的入口处。
在这里插入图片描述
F7键跟进到该函数的入口处,在堆栈窗口中来看看参数情况。
在这里插入图片描述
请求获取进程中模块句柄的时候,系统会返回该模块在进程内存中基地址(模块起始地址),这里,系统给我返回的是400000,该基地址对应的OllyDbg进程中的。
在这里插入图片描述
继续跟,就可以看到另一个API函数。GetModuleBaseNameA
在这里插入图片描述
该函数是获取指定进程模块的名称,lpBaseName这个参数是用来保存模块名称的缓冲区首地址,执行到返回。堆栈窗口中参数情况如下。
在这里插入图片描述
58是OllyDbg的进程句柄,400000是OD主模块的基地址,用于保存模块名称的缓冲区首地址为12ECE0,我们在数据窗口中定位到这个地址。
在这里插入图片描述
执行到返回以后获取到了进程的模块名称,同理,该程序会依次判断每个进程的名称是否为”OLLYDBG.exe”。
在这里插入图片描述
CloseHandle这个API函数,该函数用来关闭指定的句柄,即58将从句柄列表中消失。线索又消失了。但是这里有一个CALL指令,我们按F7键跟进。
在这里插入图片描述
在这里插入图片描述
这里,我们可以看到将要压入堆栈的是“OLLYDBG”字符串的第一个字母(4F),然后调用一个CALL指令,我们继续跟进。
我们可以看到这个CALL里面没有什么特别的,所以我们跟出来,然后跟到下一个CALL指令处。
在这里插入图片描述
跟进。
在这里插入图片描述
在这里插入图片描述
这里在比较进程名称是否为”OLLYDBG.EXE”,现在情况为是,执行到返回,看看会发生什么。
在这里插入图片描述
如果进程名不为”OLLYDBG.EXE”,EAX就不等于0,JNZ条件跳转将会发生,如果EAX为0,条件跳转不会发生,将执行后面结束OD进程等一系列操作。
那么接下来就简单了,直接对该关闭程序的代码爆破,将JNZ修改为JMP,让其直接跳过下面的关闭OllyDbg进程的代码。
运行起来,主窗口显示出来了,该程序在OD的环境下正常运行了。
在这里插入图片描述
也就是说,成功的绕过了爆破了这个程序,达到了目标。在有文本教程的指导下还是比较累人的轻松,不仅线索中间断掉过,而且期间断断续续使用百度查阅资料,OD百度来回切换使用,有很多次都在切换时思绪混乱了结果跟丢了,又要重来尤其是PID那段,每次都会更改给要重头来过的我制造了比较大的麻烦。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页