共 47 篇文章
显示摘要每页显示  条
test eax,eaxje xxxxxx将test eax,eax nop掉,改je为jb或将两句nop掉test eax,eaxjnz xxxxxx将两句nop掉mov ebx,xxxxxxmov ebp,eax双mov可以上下调换add edx, dword ptr [ebp+6E]imul esi, dword ptr [edi+ebx*2+44], 614D6C6Cimul ebp, dword ptr [esi], 000 0000 0000 00考虑下移and eax,8000000...
下面来解释一下开始进入Main函数 esp=0x12FF84 ebp=0x12FFC0完成椭圆形框起来的部分00401070 push ebp ebp的值入栈,保存现场(调用现场,从test函数看,如红线所示,即保存的0x12FF80用于从test函数堆栈返回到main函数)00401071 mov ebp,esp 此时ebp=0x12FF80 此时ebp就是"当前函数堆栈"的基址 以便...
典型的PE病毒修改PE文件,将病毒体代码写入PE文件文件中,更新头部相关的数据结构,使得修改后的PE文件仍然是合法PE文件,然后将PE入口指针改为指向病毒代码入口,这样在系统加载PE文件后,病毒代码就首先获取了控制权,在执行完感染或破坏代码后,再将控制权转移给正常的程序代码,这样病毒代码就神不知鬼不觉地悄悄运行了。* 解析PE文件的导...
对其它dll的函数调用实际上只是跳转到输入地址表,由输入地址表再跳转到dll真正的函数入口。// 调用getnamedimportdescriptor()函数,来得到hmodule -- 即我们需要 // 截获的函数所在的dll模块的引入描述符(import descriptor) pimage_import_descriptor pimportdesc = getnamedimportdescriptor(hmodule, szimportmodule); if (pimportdesc == ...
位13 IMAGE_FILE_DLL(DLL文件) 表示如果文件是一个DLL文件时,此位置1。大多用于DLL文件。现在,如果你有一个新的绑定输入目录,你得载入所有的DLL文件,并使用目录指针IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT(绑定输入目录项)找到IMAGE_BOUND_IMPORT_DESCRIPTOR(绑定输入描述结构),扫描整个IMAGE_BOUND_IMPORT_DESCRIPTOR(绑定输入描述结...
对其它DLL的函数调用实际上只是跳转到输入地址表,由输入地址表再跳转到DLL真正的函数入口。// 调用GetNamedImportDescriptor()函数,来得到hModule -- 即我们需要 // 截获的函数所在的DLL模块的引入描述符(import descriptor) PIMAGE_IMPORT_DESCRIPTOR pImportDesc = GetNamedImportDescriptor(hModule, szImportModule); if (pImportDesc == ...
但在Windows钩子DLL中,有一些数据,例如Windows钩子句柄HHook,这是由SetWindowsHookEx函数返回值得到的,并且作为参数将在CallNextHookEx函数和UnhookWindoesHookEx函数中使用,显然使用SetWindowsHookEx函数的进程和使用CallNextHookEx函数的进程一般不会是同一个进程,因此我们必须能够使句柄在所有的地址空间中都是有效的有意义的,也就是...
由于IMAGE_THUNK_DATA数组存放了引入函数的地址,所以此时ebx中是函数地址。在PE文件中所用的都是RVA,只有将RVA加上模块的起始地址才能得到真正的内存地址,而正如我们上面所说,一个进程的地址空间是由一个可执行模块和若干个DLL模块组成的,DLL模块同样有自己的引入表,我们要拦截的API有可能在可执行模块中被调用,也有可能在DLL模块中被调...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部