VB6 HTMLForm

关于使用IE技术借助HTML来实现DirectUI的实验博主断断续续做了四年,期间就是因为这个实验烧坏了脑子才转行考了音乐的研究生。

这次成果是一个自认为调整得还算比较好用的VB6窗体类,用以显示HTML对话框。基本效果如图所示:

能看出这是嵌入了一个IE么?当然,可以做得更好看一些,前端网页能做多漂亮这里就可以有多漂亮。

为什么使用VB6。第一,VB窗体本身实现了作为OLE容器的功能,如果用原生C++,除了需要自己处理窗口消息外,还需要非常熟悉COM、OLE自动化等知识,很显然我不想再烧坏一次脑子然后再去考个什么专业的研。

第二,VB支持弱类型的IDispat[……]

Read more

【论文存档】Windows可执行程序内存动态代码化的研究与实现

Windows可执行程序内存动态代码化的研究与实现

摘要

目前在缓冲区溢出攻击、软件加壳、软件代码保护等领域普遍使用到内存动态代码技术,具体是指编写一段二进制机器码,该代码无需经过任何预处理即可在进程内存空间的任意地址直接执行。内存动态代码一般直接使用汇编语言编写,存在开发难度较大、代码不易维护、隐藏软件风险等问题。

本课题提出一种方法用于将Windows可执行文件直接转化为内存动态代码,并给出动态代码设计、动态代码装配、命令行接口主程序、图形界面外壳四个方面的具体实现。课题解决了PE文件的读取与分析、代码自身基址重定位、数据执行保护机制的绕过、数据与代码压缩与解压、系统函数[……]

Read more

自制考研单词朗读音频

下了好几个语音库,最后挑中这个142000个单词的,下载地址:http://www.verycd.com/topics/133276/

这个是用8W韦氏词典语音库和10W沪江网语音库混合来的,全部是wav格式,但在运用的时候有点小问题:尽管都是wav文件,但两套的音频格式是不同的——MW字典是纯波形wav,8bit,采样率11025Hz,而沪江那套mp3压缩的wav,32kbps,采样率16000Hz。要做单词表朗读必须先统一他们的格式,至少要统一采样率。因为比较信MW字典,故决定将沪江那套按11025Hz重采样并以8bit的wav保存。

于是拿出用了七八年的GoldWave,用批[……]

Read more

VB实现COM接口针对返回S_FALSE时的COM HOOK

这几天在写HtmlUI的VB6版本,Browser端原来折腾过,并且代码都在,还算好说,Server端用Asynchronous Pluggable Protocols,遍地求代码求不到,最后只得自己研究E文的MSDN,主要是要实现IInternetProtocol接口。

用VB写过COM的同学应该都知道,实现接口时VB是没法直接返回HRESULT的,通常的做法是什么都不做就代表S_OK,用Err.Raise E_XXXX返回错误。

在实现IInternetProtocol时,和往常一样,开始是一大堆的S_OK和一大堆的E_NOTIMPL,执行时发现IInternetProtoco[……]

Read more