调试笔记之雨过天晴多点还原软件MBR实例 BY SUDAMI 为了能够调试多点还原软件"雨过天晴"的启动代码,目前有2种方式:引用:(1) 在Bochs调试器上装Windows XP系统,然后用Bochs单步调试. 不过光安装操作系统就得花20个小时以上(2) 用Wnhex克隆整个磁盘,配置Bochs的*.bxrc文件.用这个克隆的磁盘来调试MBR 方案二较简单,故我选择此方式调试. 在一个干净的Vmv
WinXP/2k数字签名状态设置 DWORD WINAPI SetDriverSign(){ HKEY hReg; DWORD dwLen; DWORD dwSeed; DWORD hProv; DWORD hHash; DWORD dwData; BYTE bHash[16]; if(RegOpenKeyExA(HKEY_LOCAL_MA
分析了一下360安全卫士的HOOK by: achillis 分析了一下360的HOOK,通过直接hook KiFastCallEntry实现对所有系统调用的过滤。我分析的版本如下:主程序版本: 6.0.1.1003HookPort.sys版本: 1, 0, 0, 1005HookPort.sys的TimeStamp: 4A8D4AB8简单说明:360把所有被hook的系统服务的过滤函数放在了一个表里,索引即对应的系统服
Open Source Vbootkit 2.0 Attack Tool for Windows 7 http://www.findmysoft.com/news/Open-Source-Vbootkit-2-0-Attack-Tool-for-Windows-7/Windows 7 Release Candidate is now out and available for public download, and so is the open source attack tool Vboot
An Empirical Study of Real-world Polymorphic Code Injection Attacks An Empirical Study of Real-world Polymorphic Code Injection AttacksMichalis PolychronakisFORTH-ICS, Greece, email: mikepo@ics.forth.grKostas G. AnagnostakisI2R, Singapore, email: kostas@i
Polymorphic Protector Among the large amount of malwares we view, we have seen a few this week that were heavily obfuscated by some sort of "polymorphic packer." Interestingly, unlike the results of most packers/protector
Make your owner PE Protector Preface This article was written to provide the better understanding to people who do not have any experience in this field. I am not going to describe about PE structure, so I think it was expla
PE_Info 之DIY 自己写的PE 信息查看工具(C代码),不甚完美,希望可以帮助初学PE 的读者从编程的角度认识PE文件,Good Luck! 下面是源代码:/*///////////////////////////////////////////////////////////////////////////////This program will output the values of impo
cyclotron's Win32 PE Library Pamqara写过一个PELibrary,但自己写的东西毕竟用起来比较顺手,所以自己建了一个简单的library,给写壳提供了一些特别的方便性.时间关系,注释不是很详细,让代码来说话吧,欢迎报告bug和扩充库:);>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;>>>>>>>> Win32
使用TASM编译COFF格式和连接 作 者: Anskya看到网络上流传的一份Drocon的mercury的代码程序源码使用TASM32编译使用MASM32来连接...关键的地方就在这里为什么要使用TASM编译。。。正常情况下TASM连接出来的程序代码体积远远大于MASM32连接出来的。。其实具体看一下就不难发现.TASM编译出来的obj体积很小,连接出来以后体积增加了,既然编译器原理差不多为什么不可以这样使用(我是以FA
获取内核ntoskrnl.exe基地址的几种常见办法 作 者: combojiang如果大家写过shellcode一定还记得,shellcode中开头要找kernel32.dll模块的内存加载地址。同样,如果大家要写一个内核的类似东东的话,第一步也是要找出ntoskrnl.exe模块的内存加载位置。有三种常见办法在这里咱们大体描述下:1。利用ZwQuerySystemInformation 来检索加载的模块,从加载模块里面搜索出ntoskrnl.e
IRP Hook 键盘Logger 作 者: cogito前天拜读combojiang 的rootkit hook 系列之[五] IRP Hook全家福(原帖:http://bbs.pediy.com/showthread.php?t=60022)之后,决定用文中的第三种方法实现一个KeyLogger。但是combojiang前辈并没有放上Demo,而且我在网上貌似也没找着完整的IRP Hook 键盘Logger实例,于是就写了一
玩玩ntfs之新建文件 作 者: ProgmBoyby:ProgrammeBoy http://hi.baidu.com/programmeboy环境:首先新建一个512M的文件.然后用filedisk使用这个文件创建一个volume。然后格式化为ntfs格式。我是按每簇512字节格式化的。目标:在根目录下添加一个名为777.txt的空文件工具:filedisk、 Runtimes DiskExplorer for N
Ring3下WX方法结束微点2009 作 者: cogito此法系Hovi.Delphic首发,某日看过之后甚感WS(某牛:“太挫了,太挫了”),于是把原作者的VB代码转成VC,以飨读者。 微点的主动防御没有拦截一些系统进程如csrss.exe, smss,exe, lsass.exe, svchost.exe, services.exe等的危险动作。因为这些进程通常是不危险的,我们要做的就是把它们中的某个变成危险进程,然后用这个危
完整可编译NT4's NTFS源码(可稳定替换xp原版ntfs.sys 作 者: weolar时 间: 2009-06-01,08:59· write by http://hi.baidu.com/weolar/blog大家知道,文件系统在操作系统中应该属于比较独立的一块,只需要提供相应接口给上层使用。Windows的NTFS文件系统也是一样,在实际编程中,Windows以dispatch routing的形式为上层的io管理器、缓存管理器等提供读写的接口,甚至
加密资源节 作 者: 玩命时 间: 2008-07-10,21:27链 接: http://bbs.pediy.com/showthread.php?t=68262什么是WINDOWS的资源这里就不提了。写过WIN程序的人应该都晓得了。如果没写过,那么。。。建议去写哈。关于加密资源节,也是加壳过程中的一个可选项而已。加和不加都不太对破解造成影响。但是如果你的程序中,有一些重要数据在资源节里面而你又不想让其他
fs TIB TEB PEB 作 者: winwang时 间: 2009-10-27,17:19链 接: http://bbs.pediy.com/showthread.php?t=100190在本学院拜读多位大牛的著作,自己整理的一些结构(有点不够完整)....都是用户模式的结构首先感谢看雪提供这么好的学习环境声明:以下内容完全取自于看雪,我只是灌水附件:方便自己阅读的一个小程式..怡笑大方了...fs:7FFDF000n
软件保护壳技术专题 - 反调试器技术 作 者: 玩命时 间: 2008-08-21,10:38链 接: http://bbs.pediy.com/showthread.php?t=71113反调试是软件保护壳的最基本的功能之一。反调试方法也是多种多样。通过调用标准的API接口,计算指令时间差。查看当调试器加载后的内存的一些标志,还有就是判断当前运行环境是否合乎逻辑等方法。这里收集了一些反调试的方法,其中的命名规则使用了壳狼的反调试程
增加区段的VC嵌汇编代码 // 增加区段.cpp : Defines the entry point for the console application.//#include #include #include bool OpenMyFile(char fileName[]);LPVOID AddSection(LPVOID ImageBase,char sectionName[],DWORD SectionNumbe