08 2012 档案
摘要:这段代码是网上找来的,自己消化精简了一下。void CaptureWindow(HWND hwnd){ //获取窗口的width和height RECT rect; GetWindowRect(hwnd,&rect); //这个函数得到的是整个窗口的Rect,包括非客户区,而近要得到客户区的rect,请使用GetClientRect DWORD width =rect.right-rect.left; DWORD height =rect.bottom-rect.top; //获取窗口的DC HDC hdc = GetWindowDC(hwnd); //如果这里用GetDC(hwnd)
阅读全文
摘要:今天心血来潮,在MSDN中看到了一篇Obtain file name from Handle的文章,貌似是这么个标题,看到文章中用到了一个很重要的函数GetMappedFileName,缺点就是只能获得自己进程打开的文件,其它进程打开的文件貌似不行。基本思路就是根据HANDLE 创建映射文件,调用GetMappedFileName获得一个DosDevice路径,然后GetLogicaDriveStrings获得盘符字串,依次读取盘符字串获得对应的DosDevice路径,看之前的DosDevice路径中是否有现在的DosDevice路径(strstr),有的话,就拿到盘符字串,然后把之前的Dos
阅读全文
摘要:patch代码或者数据一定要先调用VirtualProtect函数来修改内存的属性为最起码有可写属性,patch完毕要把内存的属性修改回来,最后FlushInstructionCache一下。
阅读全文
摘要:PDF文件加密器是利用acrobat SDK开发的一款APP。用这个APP加密的文件有好几种情况,我说的是知道了阅读密码,但是有阅读次数限制和阅读时间限制的情况,加密后的文件为一个exe文件,exe文件运用了BoxedAppSDK把解密后的pdf文件释放到内存中而不是硬盘上,下面细细说来。先说下我对BoxedAppSDK的一些理解吧。"BoxedAppSDK能够创建虚拟文件和虚拟注册表,你的应用程序会认为这些虚拟的文件确实存在,在运行过程中不会有临时文件生成",这是官方网站上面说的。什么是虚拟文件呢,简单的说就是这个文件并不存在于你的硬盘上,比如你电脑里面没有M盘,但是某程
阅读全文
摘要:PDFEncrypt这个工具是利用acrobat SDK开发出来的应用程序,它可以用来加密pdf文件,加密后的文件是一个exe文件,运行exe文件之后输入password才能查看pdf文件,对于保护pdf格式的电子书还是比较有用的,这个exe会anti vmware,如果再虚拟机中跑的话,会有msgbox,另外还会kill 录频软件一些进程ly.exe,某些安全软件 XueTr,最后exe文件中还运用了BoxedAPP技术。
阅读全文
摘要:前几天从卡饭样本区发现了一个456游戏的样本,该样本被恶意捆绑了远控,具体步骤是这样的,456游戏安装包安装完成之后,会在桌面生成一个快捷方式,这个快捷方式指向的却是一个52hxw.exe,52hxw.exe是一个白文件,它会加载目录下的hxw.dll并调用其中的EnableConversion导出函数,作者恶意构造了一个hxw.dll文件并导出EnableConversion函数,这个函数会运用内存加载技术把一个名为WebGame.dll加载到内存中,我用Xuetr把它dump出来,据PEID和FFI的检测是PE文件,但是用OD就是加载不起来,很是郁闷。后来又换了一种思路,既然它要把WebG
阅读全文
摘要:int main(int argc, char* argv[]){ WSAData wsadata; WSAStartup(MAKEWORD(2,2),&wsadata); char file[MAX_PATH]="c:\\WebGame.dll"; HANDLE hFile=CreateFile(file,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL); int filesize=GetFileSize(hFile,0); BYTE *a=(BYTE*)malloc(fil
阅读全文
摘要:__beginthread函数的第三个参数是线程函数的地址,第四个参数是可以是一般的变量,也可以是一个函数的地址,如果是后者别玩了忘记分析这个函数,我遇到太多这种情况了,把线程函数分析了,却忘记了第四个参数也可能是一个函数。
阅读全文
摘要:感觉windows分配内存就和人订酒店一样,你和前台说我要预订一个房间,不过我现在不住,这就是MEM_RESERVE。你和前台我现在要开个房间,现在就住这就是MEM_COMMIT.
阅读全文
摘要:Delphi程序中一般会包含很多delphi的库函数,这些库函数往往是又臭又长的,用OD调试Delphi程序又不知道哪个call是库函数的call,哪个才是有用的call。怎么办?用ida加载下,然后选择合适的SIG文件(点下工具栏红色的小花),ida会标注库函数的名字,然后我们导出map文件,再用OD加载这个map文件,这样我们调试delphi程序就会省事许多了。
阅读全文
浙公网安备 33010602011771号