客户端及安全
客户端开发,驱动开发,病毒,安全逆向等技术
_feivirus_
研究源码的最底层,只持有正确的仓位
展开
-
linux系统编程
第一节 环境参考 <unix环境高级编程>vim,gcc,gdb第二节 文件IO文件描述符open/openatcreatcloselseekreadwritedup/dup2sync/fsync/fdatasyncfcntlioctl/dev/fd第三节 文件系统stat/fstat/fstatat/lstat文件类型:普通文件,目录文...原创 2019-08-05 00:24:03 · 213 阅读 · 0 评论 -
wfp网络过滤框架总结(一)
By feivirus 2013-11-24 一。基本术语定义callout 为扩展wfp性能提供的一个功能,由一系列call function和一个guid key组成,wfp内置了几个callouts。用户可以通过callout drivers自己添加callout。callout driver 实现一个或者多个callouts 的内核驱动,这个驱动通过向filter engi...原创 2016-01-15 22:40:49 · 9211 阅读 · 1 评论 -
游戏保护资料总结
考虑1.tp,np,QQ对游戏的驱动保护怎么做的2.360保险箱怎么做的3.从键盘按键到驱动,然后到应用层的编辑框,按键码怎么传过去的? 比如QQ的编辑框接受,底层键盘钩子修改按键码 io device->总线->ioapic(prt table irq1 哪一个apic和中断号 int 9h 键盘中断处理 例程)->local apic->?? keyc...原创 2016-01-15 22:32:50 · 1628 阅读 · 0 评论 -
输入法注入及防护分析
一 .输入法原理: 输入法的ime文件实质是个dll文件,导出windows的imm输入法管理器调用的一些回调函数。 初始化: DllMain里注册窗口类 1. ImeInquire里告诉imm输入法的me消息窗口的类名 2. imm根据这个类名创建ime消息窗口 3. 消息窗口的回调函数被调用, 消息是wm_create 至此, ...原创 2016-01-15 22:28:25 · 3636 阅读 · 0 评论 -
病毒分析的一些帖子
<计算机病毒分析与对抗> 的部分章节<看雪AntiVirus专题> 已看http://blog.csdn.net/yxyhack/article/details/2687172 OllyDBG教程! 已看http://tech.sina.com.cn/s/s/2006-09-08/032794491.shtml 亲密接触恶意代码 文件感...原创 2016-01-15 22:26:16 · 588 阅读 · 0 评论 -
nt和win2k源码模块位置
控制面板: nt4\private\windows\shell\cplsshell32.dll: nt4\private\windows\shell\shelldll \shcompuishdocvw.dll: win2k\private\shell\shdocvwexplorer: win2k\private\shell\exploreru...原创 2016-01-15 22:22:26 · 829 阅读 · 0 评论 -
ntfs物理磁盘解析
用winhex打开磁盘,第一个扇区为dbr,wBytePerSector: 00 02 --->0200=512个字节bSectorPerCluster: 08 $MFT: 0x0c0000 起始逻辑簇号->offset:0x0c0000 * 200 * 8 = 0x0c0000000根目录:$root: 其后的0x1400处 0x0c0001400 根据tag_M...原创 2016-01-15 22:13:40 · 745 阅读 · 0 评论 -
病毒的常用技术
病毒常用技术行为:自保护,系统启动项,IE工具条,系统可执行挂钩(我理解inline hook系统dll),IE首页,系统服务,BHO插件,映像劫持,系统外壳,屏保,调试器,输入法注入,winsock lsp,打印机 ,证书相关,组策略相关,创建进程,结束进程(通过查找窗口或类名,进程名),创建服务或者驱动服务,启动驱动服务,写进程内存,操作内核内存,创建远程线程,加载驱动,消息钩...原创 2016-01-15 22:10:50 · 1417 阅读 · 0 评论 -
网络拦截的一点笔记
tdi驱动加载的木马,winhttp URL。dowdlownfile后面的成熟的数据命令: 无窗口的基本为恶意的,服务的基本为 恶意的,命令,临时目录下,downloader,new 命令,install命令, getdata,固定字符串比如前段时间的kap远控,获取客户端信息, 更新自身命令(添加,删除)。wsastupup,bind(自己做服务器,listen监...原创 2016-01-15 22:08:42 · 941 阅读 · 0 评论 -
读驱动ARK之A盾代码的总结
某位大牛说过,玩驱动最快的方法是自己写个ARK。A盾是开源的一个功能算是比较多的ARK,对木马,病毒在内核层还是可以拦截的。目前市面上的主动防御,杀毒软件的思路也是这样。但是,毕竟开源的,很多功能考虑的实现很浅,木有在内核里面深层次拦截。它的开源的版本功能如下图下载链接: http://www.3600safe.com/?post=1 下面对开源代码的功能实现做简单的...原创 2016-01-15 22:03:12 · 2640 阅读 · 0 评论 -
chrome源码分析
一. 启动: 1.WinMain:在chrome exe工程的chrome_exe_main.cc中, MainDllLoader* loader = MakeMainDllLoader(); int rc = loader->Launch(instance, &sandbox_info);主要是加载chrome.dll文件....原创 2016-01-15 22:43:27 · 2079 阅读 · 0 评论 -
ie插件的源码分析
主要关注对hao123推量影响大的因素,比如竞品。tp://msdn.microsoft.com/en-us/library/jj206442(v=vs.85).aspx IWebBrowser2接口 各种接口http://msdn.microsoft.com/en-us/library/aa768400(v=vs.85).aspx 各种事件http://www.gooru...原创 2016-01-15 22:45:15 · 1784 阅读 · 0 评论 -
IE 5.5浏览器源码分析
html->解析(词法,句法分析)为dom tree ->解析为Render Tree->遍历渲染树绘制每一个节点,遍历一个显示一个。窗口初始化1.生成CDocument:IHTMLDocument2(:IHTMLDocument,定义了get_bgColor等虚函数,_pElemCurrent当前选择节点) 在CDocument::Init中创建默认site和ro...原创 2016-01-15 22:47:35 · 930 阅读 · 0 评论 -
npapi总结
一个插件中的方法分为插件方法(Plug-in Methods)和浏览器方法(Browser Methods)。插件方法是你在插件中自己去执行的那些方法,以NPP为前缀命名。浏览器方法是被Gecko所执行的那些方法,以NPN为前缀命名。数据结构(Data Structures)以NP开头。extension可以和web页面交互,或者通过content script 或者cross-...原创 2016-01-15 22:48:21 · 633 阅读 · 0 评论 -
tdi总结
1.入口函数 创建设备对象,绑定到\\Device\\Tcp,\\Device\\Udp,\\Device\\RawIp设备栈上。 设置dispatch分发函数处理创建,清理和内部外部DEVICE_CONTROL设置irp请求。2.create请求 在create请求中获取进程名,pid上抛应用层。 应用层createfile时,在EaBuffer中传递传输层操作指...原创 2016-01-15 22:49:41 · 2236 阅读 · 0 评论 -
RPC总结
http://andylin02.iteye.com/blog/457411win32 rpc编程系列四篇 已看http://www.ibm.com/developerworks/cn/aix/library/au-rpc_programming/rpc编程 已看sudami的sandbox代码http://bbs.pediy.com/showthread.php?t=1722...原创 2016-01-15 22:51:48 · 3322 阅读 · 0 评论 -
ndis协议驱动总结
协议驱动用于嗅探器,比如wincap就是协议驱动,不用于防火墙。1.DriverEntry中填写协议特征NDIS_PROTOCOL_CHARACTERISTICS,就是协议的回调函数列表。调用NdisRegisterProtocol注册为协议驱动。创建设备对象及符号链接。系统会对每个存在的网卡实例,调用本协议驱动在协议特征集中提供的一个回调函数。故协议驱动适用于监听收包...原创 2016-01-15 22:53:03 · 1692 阅读 · 0 评论 -
ndis小端口驱动总结
安全软件中,小端口驱动主要用于虚拟网卡。1.DriverEntry检查系统版本,创建驱动对象,注册Wrapper Handler包装巨柄,填写特征回调函数。协议驱动有两个接收回调,但是小端口驱动没有接收回调,有发送回调。注册小端口驱动。初始化全局变量。一个小端口驱动可以驱动同一类型芯片的n个网卡,每一个网卡,可能是虚拟的,被称为一个实例(Instance).需要一个链表保存实...原创 2016-01-15 22:54:17 · 2784 阅读 · 0 评论 -
gh0st远控源码分析
四个工程,gh0st,install,loadmr,svchost。分别是控制端,安装程序,xxx,被控端。 一。install工程,安装程序. 1.WinMain函数。 加载svchost工程的dll为服务,启动服务。 二。svchost工程.被控端(服务端). 1.main函数, 在当前目录获取上线名称,获取不到退出。设置...原创 2016-01-15 23:18:16 · 2299 阅读 · 0 评论 -
tightVNC远控源码分析v1.3
WinVNC模块:一。WinMain函数1.初始化VSocketSystem套接字,初始化化log为winvnc.log文件,转换命令行参数为小写,解析命令行参数。没有命令行参数则进入WinVNCAppMain。在函数WinVNCAppMain中:设置进程为关机时最后关闭。创建全局锁,确定只有一个进程实例在运行。2.vncServer初始化:初始化成员变量,清空密码。如果版本大于4...原创 2016-01-15 23:19:09 · 2383 阅读 · 0 评论 -
ndis中间层驱动总结
1.NDIS_PACKET 包描述符结构结构中包含3个域,Head,Tail,NdisPacketOobOffset,包描述符和一个或者多个链式数据缓冲区(MDL)关联,这个缓冲区包含真正的网咯数据。Head指向第一个缓冲区地址,Tail指向最后一个为NULL,可以通过NdisQueryPacket,NdisGetNextBuffer,NdisGetFirstBufferFromPa...原创 2016-01-15 23:15:08 · 1303 阅读 · 0 评论 -
direct UI总结
http://blog.csdn.net/wangchyz/article/details/6795419 简单的dui例子实现http://bbs.csdn.net/topics/340239295 dui的简单帖子总结http://bbs.pediy.com/showthread.php?t=124957 dui的例子实现http://www.buguw.com/%e8%bd%ac...原创 2016-01-15 23:24:13 · 601 阅读 · 0 评论 -
谈谈陌生平台、语言的学习与mvc
最近项目需要,接触mac平台的开发。之前做Windows上的开发,感觉很陌生的东西,几天下来,突然脑海中一直想着“3”这个数字。3层架构,界面,模型,控制,很通用的设计框架。3步学习,从windows到mac,linux,甚至Android,java的学习的过程。 先说说3步学习。 windows的三层相对很熟悉,流行的Direct UI或者QT写界面,展示vie原创 2016-01-16 20:45:35 · 888 阅读 · 0 评论 -
启动控制面板中的applet时的一点笔记
卸载360 1. msiInstallProduct MsiConfigureProduct //参数中需要360的product code, 找不到2. 把explore复制到桌面通过 参数运行 uninst.exe //报风险程序3. 把explore复制重命名到桌面 运行 uninst //提示文件下载框,可以运行。4. 添加计划任务运行 uninst.e...原创 2016-01-15 22:15:37 · 794 阅读 · 0 评论 -
com的小笔记
com的几个疑问1 . CoCreateInstance有初始化RPC连接的操作吗?2. COM导出的类和函数的IID和RPC的PortName有对应关系么?3. 可以通过客户端port中的tid判断对某个函数的调用时通过port吗?4. com中的dispatch表中的格式?5. COM中的函数和RPC中的tid,opcode和dispatch中的函数怎么联系起来的?com处理过程...原创 2016-01-15 22:19:08 · 405 阅读 · 0 评论 -
ie打开下载对话框分析
SHDOCVW!CIEFrameAuto::Navigate2在win2k\private\shell\shdocvw\iedisp.cpp中IEDownload_Threadproc在win2k\private\shell\shdocvw\download.cpp中.通过IWebBrowser2->Navigate2函数可以启动指定路径的进程,过360的防护。然后在xp分析了下...原创 2016-01-15 22:20:47 · 1078 阅读 · 0 评论 -
RPC资料及笔记
http://andylin02.iteye.com/blog/457411 win32 rpc编程系列四篇 已看http://www.ibm.com/developerworks/cn/aix/library/au-rpc_programming/ rpc编程 已看sudami的sandbox代码http://bbs.pediy.com/showthread.php?t=1722...原创 2016-01-15 22:23:58 · 600 阅读 · 0 评论 -
windows消息处理过程及消息钩子
应用层发消息: 发送消息过程 SendMessage(user32.dll)->SendMessageWorker,先检查有没有hook消息钩子,有的话调用CsSendMessage,进入消息钩子过滤函数。没有的话,看是不是系统消息,是的话在Message表中找到对应msg id的索引值,通过索引值在在gapfnScSendMessage数组中找到对应的消息处理函数如果是NtUser...原创 2016-01-15 22:29:25 · 3294 阅读 · 1 评论 -
键盘按键处理过程
键盘按键:1. 当按下键盘的一个按键时,键盘产生硬件中断信号发到总线,总线将信号发送到ioapic寄存器接收,ioapic寄存器存储了键盘中断的中断idt的索引号,和发给哪个cpu来处理(针对多核), 然后发给该cpu的local apic 寄存器2. local apic接收到信号,里面存储了中断idt 索引号到idt键盘中断处理地址的映射。然后发给键盘中断处理例程,该例程再依次...原创 2016-01-15 22:31:12 · 2970 阅读 · 0 评论 -
虚拟盘符DefineDosDevice
DefineDosDeviceA nt4\private\windows\base\client\dosdev.c->BaseSrvDefineDosDevice nt4\private\windows\base\server->NtCreateSymbolicLinkObject[ObCreateObject(创建符号链接对象)ObInsertObject(对象插入表...原创 2016-01-15 22:38:13 · 758 阅读 · 0 评论 -
对数字的对抗驱动360boost.sys的简单逆向
数字的对抗驱动有两个版本,150多个函数的没有调用hookport框架,我看的80多个函数的,调用了自保。逆了一半。主要是和企鹅对抗用的,有兴趣的继续分析哦。主要是对抗回调,删除启动项,服务类的。 下载地址: http://pan.baidu.com/s/1jG3F5kE --写于2014-1-19...原创 2016-01-15 23:13:07 · 1134 阅读 · 0 评论 -
对360沙盒的驱动的一点逆向分析
主要内容:一.360Box沙箱DriverEntry函数安装驱动过滤框架分析二. 360Box沙箱注册表监控分析三. 360沙箱文件系统监控分析一.360Box沙箱DriverEntry函数安装驱动过滤框架分析360Box沙箱的驱动入口代码如下所示,下面单步跟踪分析入口代码安装360对注册表、进程、文件系统等过滤函数的安装过程。从下代码可以看出,360Box安装过滤的顺序为文件系统minifi...原创 2016-01-15 22:56:03 · 3766 阅读 · 0 评论 -
一款简单的QQ盗号蠕虫逆向分析
逆向准备工作1.在蠕虫文件目录下添加一个thumbs.db文件,在该目录下任意拷贝一个图片文件,查看缩略图就可以产生这种图片缓存文件。2.修改两处样本pe文件,把004014C0处的repe 字串拷贝指令nop掉,此处指令会造成内存越界程序崩溃。 把00401d37处的 jz指令改为jnz,此处是从QQ进程取得QQ号后如果返回0没有取到则跳走,由于QQ2013最新版进程中没有了\q...原创 2016-01-15 21:48:54 · 3661 阅读 · 0 评论