5
12
2012
0

用 Python 控制 MS Word 之手册在哪里

通过 pywin32 模块使用Python來控制MS Word的文章不少,可是看过后我发现他们有一个共同的问题:参考手册在哪里?

因为是通过 COM 接口进行通信的,不能使用help()或者dir()命令来获取 API 帮助,所以迫切地需要详细的文档,才能知道那些对象拥有的属性和方法。我在网上尝试找了 VBA 的参考手册,这个微软倒是有,但没找到离线版。虽说有也多半是 Windows 专用程序来阅读,颇为不便,但至少不受制于网络嘛。最后找来找去,原来 Word 2010 自带了!一如既往地隐蔽哦。点右上角的帮助图标出现「Word 帮助」窗口后,点「搜索」按钮的下拉箭头,选择「开发人员参考」,里边那个「Word 2010 开发人员参考」就是了。

「开发人员参考」菜单项

别问不同的帮助主题和「搜索」有什么关系,也别问「Visual Basic 语言参考」和「Microsoft 窗体参考」为什么会在这里。微软一向是忽视逻辑的。

另外,工具栏最右边那两个按钮也很有用。

3
29
2012
3

病毒 xviewer.exe 简析

搞到了个病毒,想看看它想干什么,扔虚拟机里跑了几次。PS: 这个病毒真大,9M 多了。

第一次,观察到其进程结构为一个 winloads.exe 进程下生成三个 xviewer.exe 工作进程。winloads.exe 无法被 Process Explorer 杀死,而 xviewer.exe 可以。工作进程总保持为三个。病毒运行过程中,耳机不时传来 Windows 页面刷新的声音,猜测这家伙在用浏览器。第二次使用 Process Monitor 观察的结果证实了这个猜测,xviewer.exe 在大量访问C:\Documents and Settings\LocalService\Local Settings\Temporary Internet Files\Content.IE5\index.dat文件。不过,Process Monitor 可能还是太弱了,不能看到事件的详细信息,也没看到网络访问。

第三次测试,将 vbox 的 NAT 网卡关掉,只留下一块 host only 的。然后本机开启 NAT 转发:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -s 192.168.56.0/24 -j MASQUERADE

使用 Wireshark 在 vboxnet0 接口上监听。虚拟机上手动设置网关为192.168.56.1,DNS 服务器为我本机上的 dnsmasq,也就是相同的地址。

设定好后,再次运行病毒,可以看到其

  1. 首先访问 www.wandianji.com 上的列表文件(http://www.wandianji.com/xsoft/update/update_plug_v2.txt)来更新;
  2. 再使用 POST 请求访问,获取一格式不明的链接列表;
  3. 接着开始访问百度,搜索关键词,访问网页。

原来是刷搜索排名的。难怪百度的搜索结果那么差,国内这些东西估计有不小的贡献吧?

PS: 我是用 XueTr 来结束病毒的进程们的,这个软件不支持进程树显示,但是可以多选来同时杀掉多个进程。

病毒样本及抓包结果下载链接在此

Category: Windows | Tags: windows 网络 病毒分析
12
24
2011
64

危险的 Microsoft Word

在编辑 Word 文档时,记住 Microsoft Word 是危险的会很有用。

因为毕业设计的关系,需要使用 Word 文档。我用的是 Microsoft Word 2007,因为没有理由让我使用更旧的版本,而我也没有更新的版本。这才使用几天,我已经忍不住要来吐槽了。

几天前,寝室断电。于是乎,几百字不翼而飞。Word 有自动保存文档以供恢复,但默认是每十分钟才保存一次。这比我手动保存的频率还低。那次断电,Word 是唯一给我造成损失的软件。是的,我的火狐打开了若干标签页。但是没关系,除了最后几秒打开的标签页,其它时候火狐异常退出再打开时,所有的标签页都还在,只要重新载入就可以了。如果已经在某网页里输入了较多文字的话也没关系,Textarea Cache 会帮我保存它们的。至于自己最常用的 Vim,更是无需担心。Vim 默认每输入 200 个字符,或者停止操作 4 秒就会将修改写入交换文件。所以,我从来没有在 Vim 里在没有误操作的情况下丢失大量文字。

好吧,既然 Word 默认的 10 分钟太久了,那我改短点总行了吧?于是我把它改成了 1 分钟。结果,在我尝试在页脚插入页码的时候,我发现突然卡了一下,右下方出现了绿色的进度条。不过在我注意到它时它已经完成了。因为生疏,所以我又继续弄好了一会儿,然后,绿色的进度条又出现了。我看清楚了,它在保存文档。很慢,看样子是完整地保存了一份。Word 这次不仅仅是卡住了,而且——它崩溃了!哦不,在微软的字典中没有「崩溃」这个词。最多只能说是「异常退出」。当然这个词也不常用。微软最常用的是「程序遇到问题需要关闭」。就是这么一个框跳了出来,问我要不要发送报告。好吧,你发吧。点击「发送错误报告」,Word 继续卡在那里……等了会儿,我不耐烦地点了取消,它还没反应。最后终于反应过来,Word 告诉我有一大堆文档「已经修复」。这个我已经见怪不怪了,打开阅读的文档,我不记得做了任何修改,但 Word 总是喜欢问要不要保存。再看看那篇在自动保存中崩溃的文档,「已经修复」的版本格式已经乱掉了。我还是从自己手动保存的版本继续吧。

用 Vim 久了,以前在 Windows 下养成的随时保存文件的习惯渐渐地消失了。现在,重返 Windows,重返 Word,我得在使用过程中时刻提醒自己,要随时手动保存。自动保存并不可靠,甚至还可能是崩溃发生的根源。撒销什么的也不再可靠,要记得编辑一段时间去资源管理器里选中文档,Ctrl-CCtrl-V下,不然,当自己不小心把排版弄乱而 Word 又撒消不回来时就郁闷了。

2011年12月25日更新:Windows 也一样不可靠,竟然应用更新后置我打开的众多文档和程序于不顾,自动重启,完成后还不恢复打开的应用程序——

Windows 最近下载并安装了一个重要安全更新……此更新要求自动重新启动您的计算机!

Category: Windows | Tags: office windows 微软

Mastodon | Theme: Aeros 2.0 by TheBuckmaker.com