从一个神奇的Bug开始谈缓存一致性问题

引入

前一段时间,我一直都在做一个软件保护的项目,上周一直都忙于一个赛事的组织筹备工作,没有空闲写一点东西,这周才补上。我所做的工作主要就是对多个不同平台下的动态链接库进行加密,防止用户对其进行反汇编。在加密的流程中,有一个过程需要实现在内存中先解密代码段,然后再执行解密后的代码。显然,这里需要进行内存中代码段的读写操作。

……

阅读全文

Python pefile 模块读写 PE 文件

PE 文件

PE(”portable executable”,可移植的可执行文件)文件是 Windows 操作系统中常见的目标文件、库文件和可执行文件格式,常见的 EXE、DLL、OCX、SYS、COM 都是 PE 文件。深入地了解 PE 文件格式不仅是做一些 Windows hack 相关编程所必须的,同时对我们理解 Windows 系统的内部构造也有很大的帮助。

……

阅读全文

我是如何用 MASM 汇编写摄像头控制程序的

上周完成了汇编语言这门课程的大作业展示,总体来说做得还是挺满意的。我们小组做的是一个摄像头控制类似微信飞机大战的程序。我们不想只是简单做一个小游戏,希望能将摄像头也加入进来,做一些控制的事情,所以才有了这个项目。在这个项目中,我主要负责的用汇编语言实现摄像头控制,需哥和磊哥负责实现类飞机大战的游戏程序。这是与普通微信飞机大战的区别在于就是我们额外实现了可以用电脑摄像头捕捉人脸移动,对应到飞机的移动,从而实现控制飞机大战游戏。

……

阅读全文

Apache反向代理实现转发

这两天一直用 WordPress 在做一个网站,在部署网站的时候遇到了一些困难。服务器是 Windows Server 2008 的,之前上面已经有 Tomcat 了,现在想在 Apache 下来跑 WordPress。两台服务器同时监听80端口显然是不行的,很容易想到一台服务器监听80端口,另一台服务器监听另一个端口,比如说8080端口,然后通过转发来实现 Tomcat 和 Apache 并存。那么如何实现这种转发呢?反向代理!

……

阅读全文

《软件工程》学习总结

这个学期接近尾声,软工课也已经正式结课了,也该好好的给自己这个学期的软工学习做一个总结了。

软件工程,工程化的软件开发思想

什么是软件工程?软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科(摘自维基百科)。

……

阅读全文