- 博客(13)
- 资源 (5)
- 收藏
- 关注
转载 开机自启动
//开机启动int CMainWnd::CreateRun(){ //添加以下代码 HKEY hKey; char pFileName[MAX_PATH] = {0}; //得到程序自身的全路径 DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH);
2015-07-16 16:21:09 410
原创 【PE学习----VA、RVA、File Offset】
参考了《Windows_PE权威指南》这本书VA (Virual Address) 虚拟地址 程序被载入od中 如该图显示的就是虚拟地址VA;RVA(Relative Virual Address)相对虚拟地址,表示此段代码在内存中相对于基地址的偏移。File Offset 文件偏移地址 :当PE文件存储在磁盘上时,某个数据的位置相对于文件头的偏移量,称为文件地址。即C
2013-03-29 17:23:02 2166
原创 【PE学习-------导入表】
输出 打印 PE文件的 导入表信息// ImportTable.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #pragma comment(lib,"Dbghelp.lib")PIMAGE_NT_HEADERS g_pNt = NULL;//判断文件是否为PE文件BOOL
2013-03-29 14:48:00 719
转载 linux errno.h文件
errno .herrno.h- - 查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题
2012-12-07 15:41:24 1172
转载 获取窗口类指针
1) 在View中获得Doc指针 CYouSDIDoc *pDoc=GetDocument();一个视只能有一个文档。 2) 在App中获得MainFrame指针 CWinApp 中的 m_pMainWnd变量就是MainFrame的指针 也可以: CMainFrame *pMain =(CMainFrame *)AfxGet
2012-10-26 09:38:38 476
转载 定位IAT表
定位IAT可根据读取exe的方法分为两类:pe装载器以装载的exe文件/通过内存映射方法读取exe文件。 1.简单方法: 直接通过以运行的exe文件来定位IAT #include #include void main() { HMODULE hMod = ::GetModuleHandle(NULL); //已运行的exe文件在内存中的
2012-09-21 14:22:14 758
转载 小甲鱼PE详解之输入表(导入表)详解(PE详解07)
在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯!首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块。这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同而放在一起,并不一定是同一种用途的内容。例如接着要讲的输入表、输出表等就
2012-09-20 10:59:25 485
转载 小甲鱼PE详解之输入表(导入表)详解(PE详解07)
在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯!首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块。这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同而放在一起,并不一定是同一种用途的内容。例如接着要讲的输入表、输出表等就
2012-09-20 10:57:08 439
转载 批处理与进程
一、常见进程命令查找或列举进程:【Tasklist 】 这个命令行工具显示应用程序和本地或远程系统上运行的相关任务/进程的列表。结束进程:【Taskkill】 这个命令行工具可用来结束至少一个进程。可以根据进程 id 或图像名来结束进程。强制结束进程:【Ntsd】 NTSD -c q -Pn 综合操作进程:【Wmic Process】 wmic
2012-08-09 13:57:42 2893
转载 Hook技术之4 在自己的进程中注入一个Dll到别人的进程
与其说是一种技术,不如说是一种技术思想。它使用了前面讲的那些Hook手段,来达到自己的目的。其应用环境是这样的,自己有一个进程在运行,这个进程是自己可以控制的,但由于业务的需要,自己又要执行另一个应用程序,这个应用程序可能是Word,Notepad,Photoshop等应用程序,自己只可以看见它在运行,却不能控制它的执行过程。但是,这个进程明明是自己的进程创建的,因此,完全由必要控制它干些什么
2012-07-23 11:19:14 827
转载 Hook技术3 建立远程线程的方法
这是我觉得一种非常好的Hook技术,自己也非常喜欢,我先引用Windows核心编程里的讲解,最后在文后附上一个封装好的类,这种方法非常适合在别人的程序里隐藏自己的程序,因此得到了广大木马爱好者的青眯。插入D L L的第三种方法是使用远程线程。这种方法具有更大的灵活性。它要求你懂得若干个Wi n d o w s特性、如进程、线程、线程同步、虚拟内存管理、D L L和U n i c o d e
2012-07-23 11:18:42 664
转载 Hook技术2 内存中修改模块开头代码为跳转语句
这种霸道的技术,一般不推荐使用,除非无奈之下,不妨可以试试。原理也很简单,要导入一个Dll,把它在内存中的代码,前几代改为JUMP 我的函数地址然后,在我的里,再把他的几行代码改回去,把我自己的事做完之后,再调用它,也可以不调用。最后它返回后,又将它的前几行代码改为JUMP。原理非常简单:下面给出一个封装好的类: //////////////////////////
2012-07-23 11:18:00 580
转载 Hook技术1 使用SetHook替换IAT表
基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即
2012-07-23 11:17:04 795
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人