李sir_Blog

博客园 首页 联系 订阅 管理

2011年9月22日

摘要: 我们知道,很多PE分析工具都可以查看一个EXE文件的引用DLL文件函数表,其实,这个本身就是存储在EXE头部的一个重要信息,今天,我们就来研究一下:我们借用一张PE结构图来分析:一个EXE完整的PE结构分五大部分。见上图.最开头的是部分是DOS部首,DOS部首由两部分组成:DOS的MZ文件标志和DOS stub(DOS存根程序)。之所以设置DOS部首是微软为了兼容原有的DOS系统下的程序而设立的。紧接着的是真正的PE文件头。值得注意的是PE文件头中的IMAGE_OPTIONAL_HEADER32是一个非常重要的结构,PE文件中的导入表、导出表、资源、重定位表等数据的位置和长度都保存在这个结构里 阅读全文
posted @ 2011-09-22 12:19 李sir 阅读(12553) 评论(0) 推荐(1)

摘要: 话说,有这样一道据说是月薪2W的笔试题:#include "stdio.h"void print(){*}void main(){}要求在*部分写代码使整个程序运行后输出“hello world”,有些人说,这还不简单啊,于是写出这样的代码:view sourceprint?01.#include "stdio.h" 02.void print() 03.{ 04.printf("hello world"); 05.} 06.void main() 07.{ 08.print(); 09.}这样写的确是没问题,但是违背了题目的要求,因 阅读全文
posted @ 2011-09-22 11:34 李sir 阅读(2605) 评论(3) 推荐(1)

摘要: 百度上比较好的解释是:SSDT的全称是System Services Descriptor Table,系统服务描述符表。这个表就是一个把ring3的Win32 API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。说白了,SSDT就是把系统两个不同级别的函数给关联起来,因为为了安全需要,我们平常所使用的API函数基本都是在ring3下的函数,ring3的级别比较低,但是有些涉及到系统底层的函数怎么办呢?Windows就给出一个SSDT表,把ring3和ring0的函数给关联起来,这样,我们就通过 阅读全文
posted @ 2011-09-22 11:25 李sir 阅读(3360) 评论(0) 推荐(3)

摘要: 留言板,论坛里的垃圾广告想必是每个人都很头疼的问题,为什么屡禁不止?这主要是大量的发帖机器人的恶劣行为,当然也有人工的。过滤广告的方法太多了,这不是我们重点讨论的问题。这里主要说一说我遇到的情况。我也写过留言板,加入了很完善的广告过滤机制,比如说,留言中不包含中文,或者包含2个以上的http等等就认为是广告,的确也起到了作用,自己测试也一切正常。但是随后,依旧有大量的垃圾广告留言,我百思不得其解,这些广告是怎么发上去的呢?按照广告内容我手动实验输入是不能发上去的。难道直接写数据库?这个在随后也否定了,我检查了数据库,所有写入内容均是正常的。这下我真的不知道哪里出了问题,搜索了半天也没搜索到结果 阅读全文
posted @ 2011-09-22 11:13 李sir 阅读(802) 评论(0) 推荐(0)

摘要: 现在拥有QQ的人已经很多了,而且不少人同时拥有几个账号,遗憾的是QQ只能设置一个号码自动登录,如果想同时登录几个账号那么必须一个一个手动输入,因此,网上也出现了不少QQ自动登录器,这究竟是怎么实现的呢?其实原理非常简单。QQ是支持命令行登录的,也就是说QQ的exe程序支持参数,下面举一个参数登录的例子:e:\qq\qq.exe /START QQUIN:00000000 PWDHASH:4QrcORm6Wau+VuBX9g+IPg== /STAT:41比如有上面这个参数,前面的e:\qq\qq.exe是QQ的程序路径,/START QQUIN:是保留字段,后面紧跟的就是需要登录的QQ号码,PW 阅读全文
posted @ 2011-09-22 11:03 李sir 阅读(6588) 评论(6) 推荐(0)

摘要: 真是越来越喜欢C#的强大和易用了,上次给大家介绍了一个C#打造QQ自动登录的小程序,这次再给大家介绍一个更好玩的小程序:气泡屏幕保护!首先说一下制作要点:1 窗口要全屏置顶 2 模拟气泡的滚动和粘滞效果 3 支持快捷键ESC退出大致就是这3个要点了,其他还有一些细节我们在程序中根据需要再看,OK,开工!首先是全屏置顶,因为是屏幕保护嘛,这个简单,在窗体的属性设置里把FormBorderStyle设置为none表示无边框,把ShowInTaskbar设置为false表示不在任务栏出现,最后一个把WindowState设置为Maximized表示最大化即可,当然可以设置TopMost为true让窗 阅读全文
posted @ 2011-09-22 10:56 李sir 阅读(2421) 评论(1) 推荐(0)

摘要: HWND hWorker,hRebar,hComEx,hcom,hEdit; HWND hwndParent=::FindWindow( "IEFrame ",NULL);//找到IE窗口 char szError[260]; hWorker=FindWindowEx(hwndParent,0, "WorkerA ",NULL);//找到工作区窗口(不是internet explorer server窗口) hRebar=FindWindowEx(hWorker,0, "ReBarWindow32 ",NULL);//找到Rebar窗 阅读全文
posted @ 2011-09-22 10:45 李sir 阅读(3216) 评论(0) 推荐(1)

摘要: 1、弹出式广告框也是IE浏览窗口,一般来说,它是一个无菜单、无工具栏窗口。所以可以在桌面上打开一个窗口时,首先判断该窗口类型是否是“IEFrame”,接着判断IEFrame的子窗口类型“WorkerW”的属性是否是不可见(这是一般弹出式广告窗口的特征),这样就可以向该窗口发出关闭的消息,以上步骤一般能自动关闭大部分弹出广告框。 2、通过WINDOWS编程中的钩子(HOOK)函数解决截获在桌面上打开窗口的消息。钩子函数的基本原理就是对WINDOWS系统的某些动作注册,当发生这些事件时首先调用预先设置的回调函数,回调函数处理后,再由原来的函数处理。这里回调函数的作用正是实现1中叙述的功能。因为.. 阅读全文
posted @ 2011-09-22 10:31 李sir 阅读(1332) 评论(1) 推荐(0)