软件保护技术
课程名称:软件保护技术
上课教师:白洪欢
为信息安全专业选修课程,是可怕的白洪欢老师上的课,鉴于上学期的汇编语言的绩点最后只拿到了3.6,恐怕这学期的软保也要薄纱我均绩了😭。
本学期的主要内容就包括
- 基础知识:dos、windows的exe文件头。
- 脱壳技术。
- 给exe打补丁,给exe增加一个功能。
绪论
软件保护的分类
保护:把exe和某个硬件介质建立联系,给exe加壳。
- 软盘指纹,将软件和软盘关联,进行加密,即软盘指纹。通常根据软盘上的一些特征进行校验。
光盘指纹也是光盘上一些特殊的部分,但是如Deamon tools等软件可以完全复制一张光盘为iso文件。 - 序列号:跟机器特征码相关,通常和网卡的mac地址,硬盘的序列号相关。
作者:
用户电脑:
网卡的mac可以通过注册表修改,而硬盘的序列号相对较难修改。
VMProtect在对exe加壳时会对原exe中的某些指定函数作虚拟化加密,从而防止脱壳。将原先的x64/x86汇编转换成另一种新的汇编代码,再创建VM虚拟机运行这些代码,来防止静态调试破解。 - 加密锁(dongle)
包括hasp、sentinel、sense(深思)、rockey(飞天诚信)等品牌。加密锁有配套的开发包(sdk),里面包含加密锁相关的函数,如read_dog(),write_dog()等。
软保的重要手段:加壳
加壳前:
1 |
|
加壳后:
1 |
|
软件保护技术
http://example.com/2024/09/09/Software-Protection/