无法正常卸载 Visual Studio 时的处理方法

因某些原因(例如删除了”C:ProgramDataPackage Cache” 中的内容)无法在卸载程序界面中卸载 VS, 可以使用下面的方法卸载.

首先准备 VS 安装介质, 如 .iso 文件, 加载到虚拟光驱中.

再以管理员权限运行 CMD, 转到 虚拟光驱的盘符, 输入以下命令

我的是社区版本, 如果是专业版或企业版, 只要将 vs_community 替换为对应介质中的程序名即可.… 阅读全文

(转) C#如何验证一个PE文件的数字签名是否正确(1)

本文转自 http://www.blogbus.com/softone-logs/105678346.html

作者:Eckel Chung blog地址:http://softone.blogbus.com/  转载请保留

—————————————————————————

(1)前言

和网上大量的讨论如何制作数字签名和验证数字签名的文章本同,本文使用微软自带的API进行PE文件数字签名有效性的验证,使用语言C#。

我们可以在windows系统下直接右键查看某个PE文件数字签名的有效性,如下图:

数字签名        这让我们想到,微软必然自带了对PE文件数字签名的验证办法,经过查找资料,确定其来自下图所示的dll文件里的WinVerifyTrust函数。

wintrust.dll      该函数在C#里的调用原型如下:

 

关于这个函数的使用,可以查看MSDN上的说明

(2) 构建将要用到的数据结构

根据微软官方材料,我们在使用这个函数前还得先准备几个数据结构:

阅读全文

C# 使用 Socket 实现 http 协议全功能版

有人说用 Socket 请求 http 服务效率要比 HttpWebRequest 高很多, 但是又没有提供源码或者对比测试结果. 我对此很好奇, 到底能差多少? 所以决定自己写个类实现 Socket 请求 http 的功能.

下面的代码实现了基本的 http ,https 请求, 支持 gzip 解压, 分块传输.

经本人多次试验, 得出如下结论:

如果仅用 Socket 获取文本类型的内容, 且不考虑分块传输的情况, 那么 Socket 方式可比 HttpWebRequest 方式效率高 30%-40%.

如果考虑更多因素,需要做更多处理, 所以多数时候效率不如 HttpWebRequest, 当然与我写的代码效率有很大关系.

欢迎共同探讨技术问题,提供建议, 请留言,我会尽快回复.… 阅读全文

申请免费代码签名证书

最近在研究代码签名技术, 花了不少时间, 下面记录一下从了解代码签名到获得一个有效的代码签名证书的过程.

首先说一下什么是”代码签名”:

代码签名即软件的所有者使用受全球认可的第三方发放的能证明其真实身份的 “代码签名数字证书” 为其开发的软件添加一个标记, 即所谓的 “签名”, 因而增强了可信度.
耳听为虚, 眼见为实, 有图有真象.
code sign

代码签名的作用:

证明软件在发行和传播过程中未经篡改, 增强安全性.
当软件中有涉及到安全方面或底层代码的地方, 如果没有代码签名, 系统会弹出警示框是否要继续安装或执行, 而签名之后的代码便会顺利通过安全检测, 不会弹出警示框.

代码签名的对象:

按照不同的系统和文件类型可以为多种文件进行签名. 比如微软常见的 .exe, .dll, .cab, .msi, .ocx, .sys, .cat, .vbs 等文件类型. Android 系统中的 .apk 文件. Java 中的 .jar 文件等.… 阅读全文

运行在 IIS 上的 wordpress 重写设置.(wordpress rewrite .htaccess to web.config)

阅读全文