“Windows”目录存档

好多人在问,发一个SocksCap32未公开参数

2009年12月20日,星期日

好多人在问如何把强制代理挂载启动一个程序写入批处理,SocksCap32那个界面是GUI的而且很难用,well,下面就发一个SocksCap32未公开参数,需要SocksCap32同目录下的Sc32Lnch.exe文件

Sc32lnch.exe -c "程序命令行或者路径"

SocksCap32的作用是补完不支持Socks5远程DNS解析的WinINET库。。。。。

用同一家公司出品的LSP驱动级的Permeo Security Driver和VPN差不多方便,不过这个东东似乎好久没更新了,而且新版本很难用。。。。

Windows用户向Ubuntu发来贺电

2009年12月16日,星期三

点击看大图

好久没用Ubuntu了,满怀念的。

via

pydbg和Paimei - hook openssl ssl_read()

2009年12月14日,星期一

最近需要分析一些SSL流量,无非三条途径:2种已知中间人解密方法,wireshark抓证书然后解密,和hook dll三种方法。个人无故偏好最后一种。。。。

网上找了些软件,一个是别人写好的现成黑客工具Echo Mirage

支持Winsock, Winsock SSL, OpenSSL三种hook。但是这个dll inject老是挂掉,不爽。。。。

又发现了一个PyDbg。。。这个工具是附属于 pedram.openrce.org 的一个名叫 PaiMei 的子项目中

当然这个 Paimei 就是《Kill Bill 2》里面最后被毒死那个所谓功夫很牛逼的 白眉 师傅。。。。

Paimei 首页 | 文档 | 下载 | 源码

PaiMei is a reverse engineering framework consisting of multiple extensible components. The goal of the framework is to reduce the time from "idea" to prototype to a matter of minutes, instead of days. PaiMei is written entirely in Python and exposes at the highest level a debugger, a graph based binary abstraction and a set of utilities for accomplishing various repetitive tasks. The framework can essentially be thought of as a reverse engineer's swiss army knife and has already been proven effective for a wide range of both static and dynamic tasks such as: fuzzer assistance, code coverage tracking, data flow tracking and more.

用pydbg来截获ssl还是很简单的。。。这个帖子里有现成代码

import sys
import utils
from pydbg import *
pktc = 0
def SSL_read_hook (dbg, args, ret): global pktc pkt = dbg.read_process_memory(args[1], args[2]) f.write("[%d] Packet:\n" % pktc) f.write(dbg.hex_dump(dbg.read_process_memory(args[1], args[2]))) f.write('\n') pktc = pktc + 1
try: pid = int(sys.argv[1]) except: print "Usage: %s PID" % sys.argv[0] sys.exit(-1)
filename = "ssldump_" + str(pid) + ".txt" f = open(filename, 'w')
dbg = pydbg() dbg.attach(pid)
addrSSL_read = dbg.func_resolve_debuggee("SSLEAY32", "SSL_read") if not addrSSL_read: print "Couldn't resolve SSL_read" sys.exit(-1)
hooks = utils.hook_container() print "Hooking SSL_read(0x%x)" % addrSSL_read hooks.add(dbg, addrSSL_read, 3, None, SSL_read_hook)
print "Function hooked, logging to: %s" % filename dbg.run() f.close()

pydbg这个依赖库不需要完全下载paimei,只需要svn checkout/export下面几个python module就可以了:


http://paimei.googlecode.com/svn/trunk/pgraph
http://paimei.googlecode.com/svn/trunk/pida
http://paimei.googlecode.com/svn/trunk/pydbg
http://paimei.googlecode.com/svn/trunk/utils

注意paimei是比较古老的项目了,现在似乎没人管了。所以这个代码里有个bug,会出错

TypeError: can't set attributes of built-in/extension type '_ctypes.Structure'

解决方法是打开 pydbg\my_ctypes.py

c_type = (Structure ... 这一行上面加一行:

class Structure(Structure):
    pass

就OK了。

当然hook出来有很多0x00的空值。这个手工处理掉就行了。

现在又开始纠结带gzip/bz2解压功能的ssl分析工具了。。。。。很多时候还是只有自己DIY。。。。

参考 123

btw, 最近出了一款号称用p2p,基于QtWebkit的OOXX浏览器。我去看了下,就是一个ssl代理

$ openssl s_client -connect ps?????.dreamhostps.com:443
GET http://twitter.com/ HTTP/1.1
HOST: twitter.com

呵呵。。。。

IE9的脚本引擎改进

2009年12月5日,星期六

关注IE9的技术改进。用了Direct2DDirectWrite。前者其实和Direc3D没多少关系,Direct2D是Windows 7里引入的一个代替GDI的技术,基于Direct3D绘图,也就是GPU运算。后者是Cleartype的替代,估计也是基于Direct3D的。这样IE9就是跑在GPU上了。那么说明现在浏览器费电就不仅仅是CPU了,GPU也很耗电发热的。

由于是Win7的技术,所以如果IE9要跑在XP上就必须做痛苦的backport了。否则IE9将无法支持Windows XP、2003、2000等系统。而且Direct2D只安装在Win7和Server 2008 R2上。Vista和 Server 2008需要安装Platform Update。而安装Platform Update之前又需要安装SP2。。。。

GPU硬件也有要求。Direct2D需要Direct3D 10,Direct3D 10需要显卡硬件支持(就是支持Crysis那个显卡),但是可以在Direct3D 9 的显卡上通过 10on9 来模拟。XP没有Direct 3D 10,估计Direct2D的程序会failback到GDI。只有Vista以上的Windows才能支持Direct2D

微软的Silverlight已经把.NET核心给backport了一次,这次又要backport新的图形系统。真是折腾啊。哈哈。说不定显卡不支持DX10就没法跑呢。。。囧。。。。

认真学习了一下,Channel 9的视频,讲Javascript脚本引擎的改进:

开始提到JScript is no longer,说明微软正式放弃JScript了。。。。。。

Intimidation的motivator作为双显示器桌面

JScript引擎开发人员的hotmail,大家快来人肉:

微软员工居然也用Gmail,不知道会不会被开除

IE9的新引擎跑Gmail还是很流畅的

IE9的JScript引擎性能主要测试指标依然是Webkit.org的SunSpider

COM是过去JScript的core data structure,也是interoperate的主要部分,看起来过于big不够轻量级。现在这个新model叫object pattern,是array of slot, each slot holds a property。Javascript就是store properties and reveal properties。还提到Polymorphism ???ing(没听清楚)。In a nutshell,新的engine会generate native code,优化途径就是提供两种执行渠道:fast path和slow path,大部分可预测的计算都会走fast path。最后还有一些library的改进。特别是RegExp。提到了了PRCE和Python。。

hardest part of Javascript: 评价说javascript是great mix of really use features with dark corners. 最影响performance的是arguments array。例如f.arguments。这个会影响call stack的效率

Sunspider的结果跑出来了:
IE9 Build41 986.4ms

Firefox 3.6 beta1 480.8ms

Chrome 4.0 beta 437.2ms

Javascript的效率对于Web浏览用户体验很重要,但是不是最突出的因素。对浏览速度而言,Javascript性能大概只影响1/3。DOM解析效率、渲染都是浪费时间的因素。一些重型Javascript应用才对JS引擎要求比较高

有些网站探测到IE会使用VBScript。

看来IE9还不是最终杀手。微软如果老是追赶别人的话,是没法引领时代潮流的。Google超过Yahoo并不是因为Google的搜索结果和Yahoo一样好,而是好很多倍

Pivot

2009年12月5日,星期六

cnBeta上倒是很吹嘘了几篇Pivot。去官方看了下,原来不是浏览器,而是一个Visualization tool。估计是Deep zoom做的吧?

找了下,果然是Deep Zoom

用来上网只是Pivot支持的一种数据输入之一。。。。。。。

那个Seadragon就是Silverlight的deep zoom技术。总的说来就是一个大分辨率图片高速放大缩小的算法,适合一些装逼场合。

微软的Livelabs还是很能出有创新精神的产品的。LiveSino和Google.org.cn不值得订阅,每旬去看下还是不错的。。。。

微软的.NET战略比较失败,希望它的Live战略能够成功。市场永远不会让面向需求的开发失望的。

IE是什么

2009年12月4日,星期五

IE = msHtml + WinINet + urlmon

忘记哪里看到的了。。。貌似是Technet还是MSDN的一位IE团队开发人员的博客上。。。找不到了。。。。赶紧记下来以免忘记。。。。。

TRINE

2009年11月29日,星期日

比特客栈有介绍。我就懒得复制粘贴了。反正是一款非常有意思的2.5D横版PhysX game

demo下载

Windows下得到uptime

2009年11月13日,星期五

看微软泄漏的COFEE工具的时候发现了一个1999年的工具 uptime.exe

看了下,调用的是 PERFOS.DLL 里的 CollectOSObjectData,其实和 perfmon.msc 里的数据都差不多。

有n个方法查看Windows的uptime

kb555737的说法是用net stats srv命令,其实也可以用 systeminfo 命令

这里有个WMI的vbscript版本

感觉Microsoft现在很矛盾,想通过Powershell来增强Windows的管理,结果反而更乱了。

Google Street View和Win XP那个Bliss草地壁纸

2009年11月8日,星期日

关于Windows XP默认Luna主题的那个Bliss壁纸,

这个其实是1979拍摄的。

Wikipedia上有个详细的介绍,cnBeta也介绍过了。

这个是2006年版的:

这个是Google Street View里看到版本:

但是最佳位置被Google挖去了。Wikipedia说exact location has imagery removed, and replaced with a new image。不知道为什么。。。。。

加州很漂亮哈。

chrome浏览器一个老漏洞chromeHTML://

2009年10月19日,星期一

http://www.milw0rm.com/exploits/7566

http://code.google.com/p/chromium/issues/detail?id=9860

这个chromeHTML://比Chrome Frame有意思多了