分享

VC

 quasiceo 2014-01-12
最近在网上看到一些关于在DllMain中不当操作导致死锁的问题,也没找到比较确切的解答,这极大吸引了我研究这个问题的兴趣。我花了一点时间研究了下,正好也趁机研究了下进程对DllMain的调用规律。因为整个研究篇幅比较长,我觉得还是分开写比较能突出重点。本文先说说死锁。(转载请指明出于breaksoftware的csdn博客)         介绍死锁之前,我说一个我小时候听过的一个故事:...
2012-11-02 23:50 阅读(610) 评论(0)
通过导出表隐性加载DLL?导出表?加载DLL?还隐性?是的。如果觉得不可思议,可以先看《PE文件和COFF文件格式分析——导出表》中关于“导出地址表”的详细介绍。(转载请指明出于breaksoftware的csdn博客)         这儿再废话几句,导出地址表,可能保存两种信息:         1 保存的函数入口的RVA         2 保存的是指向函数真正实现的所在的DLL名和函...
2012-09-06 23:38 阅读(596) 评论(4)
可能在很多人想想中,只有DLL才有导出表,而Exe不应该有导出表。而在《PE文件和COFF文件格式分析——导出表》中,我却避开了这个话题。我就是想在本文中讨论下载Exe中存在导出表的场景。(转载请指明出于breaksoftware的csdn博客)         首先要说的是Exe是可以有导出表的,我用我写的PE分析工具扫描了我电脑上所有文件。发现有导出表的Exe文件还不少。比如chrome.e...
2012-09-06 23:37 阅读(449) 评论(2)
在之前的《PE可选文件头》相关博文中我们介绍了可选文件头中很多重要的属性,而其中一个非常重要的属性是(转载请指明来源于breaksoftware的CSDN博客) IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];         该数组保存了如下节(不一定全包括,要以IMAGE_OPTIONAL_HEAD...
2012-09-06 23:36 阅读(515) 评论(0)
之前几节一直是理论性质的东西非常多。本文将会讲到利用之前的知识得出一个一个非常有用的一个应用。(转载请指明来源于breaksoftware的csdn博客)         首先我们说下磁盘上A.exe文件和正在内存中运行的A.xe之间的关系。当我们双击A.exe后,A.exe会运行起来。我们在任务管理器中可以看到A.exe。这个过程很简单,但是双击A.exe之后系统做了什么?这个过程你是否思考过...
2012-09-06 23:36 阅读(379) 评论(0)
在《PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头3》中,我们看到一些区块的信息都有偏移指向。而我们本文讨论的节信息是没有任何偏移指向的,所以它是紧跟在可选文件头后面的。(转载请注明来源于breaksoftware的csdn博客)于是该节的起始位置要如此计算 size_t unDwordSize = sizeof(DWORD); // PE\0\0 size_t unIm...
2012-09-06 23:36 阅读(387) 评论(0)
《PE2》中介绍了一些可选文件头中重要的属性,为了全面起见,本文将会讲解那些不是那么重要的属性。虽然不重要,但是还是可以发现很多好玩的情况。首先看一下32位的可选文件头详细定义。(转载请指明来源于breaksoftware的CSDN博客) typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. //...
2012-08-31 20:08 阅读(435) 评论(0)
之前的博文中介绍了IMAGE_FILE_HEADER结构,现在来讨论比较复杂的“可选文件头”结构体。(转载请指明来自breaksoftware的csdn博客)先看下其声明 typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. // WORD Magic; . ....
2012-08-29 01:44 阅读(626) 评论(0)
最近一直在做沙箱项目,在项目快接近结尾的时候,我想给在我们沙箱中运行的程序界面打上一个标记——标识其在我们沙箱中运行的。我大致想法是:在被注入程序的顶层窗口上方显示一个“标题性”窗口,顶层窗口外框外显示一个“异形”的空心窗口。这些窗口如影子般随着其被“吸附”窗口移动而移动,大小变化而变化。(转载请指明出处)以记事本为被注入程序为例:         我用的注入和HooKApi方案是采用微软的de...
2012-07-30 15:21 阅读(739) 评论(7)
本文将讨论PE文件中非常重要的一部分信息。(转载请指明来源于breakSoftware的CSDN博客)         首先说一下VC中对应的数据结构。“签名、COFF文件头和可选文件头”这三部分信息组合在一起是一个叫IMAGE_NT_HEADERS的结构体。 typedef struct _IMAGE_NT_HEADERS64 { DWORD Signature; IMA...
2012-07-19 19:20 阅读(747) 评论(0)
MS 2.0节是PE文件格式中第一个“节”。其大致结构如下:(转载请指明来源于breaksoftware的csdn博客)         在VC\PlatformSDK\Include\WinNT.h文件中有对MS-DOS 2.0兼容EXE文件头的完整定义 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD...
2012-07-03 22:02 阅读(811) 评论(0)
刚工作的时候,我听说某某大牛在做病毒分析时,只是用notepad打开病毒文件,就能大致猜到病毒的工作原理。当时我是佩服的很啊,同时我也在心中埋下了一个种子:我也得有这天。随着后来的工作进行,一些任务的和这个理想有了交集,这得以让我有足够的时间和精力去细细研究PE文件和COFF文件格式。(转载请指明出处)         如果有一定的英语基础的朋友,可以查看微软原稿(http://www.micr...
2012-07-03 00:41 阅读(1182) 评论(2)
今天为了KPI,搞了一天的PPT,搞得恶心想吐。最后还是回到这儿,这儿才是我的净土,可以写写我的研究。         这儿讲一些Reactos中一些明显的错误。(转载请指明出处)         在Reactos的RegQueryInfoKeyW中有段这样的实现 if (lpcbMaxSubKeyLen != NULL) { *lpcbMaxSubKeyLe...
2012-06-26 21:17 阅读(706) 评论(0)
这篇我们看一个”容错“”节省“的实例。一下是一个Win32API的声明(转载请指明出处) LONG WINAPI RegEnumKeyEx( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpName, __inout LPDWORD lpcName, __rese...
2012-06-12 21:19 阅读(581) 评论(0)
上一篇博文中主要介绍了Reactos中大部分函数的思路和HKEY和HANDLE之间的关系,本文将介绍一些Reactos中有意思的函数和存在bug的函数。(转载请指明出处)         CreateNestedKey是一个辅助创建键的函数,比如我们要创建\Regsitry\User\3\2\1,而我们只是存在\Regsitry\User\,我们最终将调用此函数将在User下创建键3,然后在3键...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多