当前位置:文档之家› 浅谈软件加密与解密

浅谈软件加密与解密


以注册码为例
我们把用户名按照某种方法运算得到一个真正 的注册码和用户输入的进行比较不就知道了吗? 也就是 真正的注册码 = f(用户名) Y = f(x) 然后就是很经典的比较了,为什么说经典呢? 因为有60%的软件是这么做的。
决定何去何 从比较 真正的注册码=用户输入的注册码吗?
N
Y
提示注册错误 Say 88
免杀
关于免杀的来源
为了让黑客的木马在各种杀毒软件的威胁下活的更久!
免杀和查杀
1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的 扫描,所得结果。 2.内存的免杀和查杀:判断的方法,运行后,用杀毒软件的 内存查杀功能.
用OD载入,分析杀毒软件的内存查杀功能.
免杀续
什么叫特征码
• 1.含意:能识别一个程序是一个病毒的一段不大于64字节的特征串. • 2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往 往改一处就可达到免杀效果,当然有些杀毒软件要同时改几处才 能免杀。
浅谈软件加密与解密
主讲人:刘鑫
主要内容
• 1 浅谈软件加密
• 2 神秘的解密 • 3 黑客的智慧——免杀
• 4 保护我们的软件
传统软件保护技术
• 传统的软件保护技术似乎有一个通病:
为大多数时候软件加密本身实现的都 是一种编程的技巧……
软盘保护
• 即钥匙盘,在普通软盘上格式化一些 非标准扇区,只有自己的程序可以读 这些扇区的内容。在这些扇区上写入 密钥,验证信息等,软件执行时读取 这些信息并验证。 • 近年来软盘的使用量大大下降,其实 用性已经不比从前。并且,现在这种 方法已经不能抵挡解密者的攻击。
一个真正的Cracker必须掌握
• 1.德; 要有社会道德意识,必须遵守一些规范! 2.数学; 要尽可能的多学一些数学知识,必须具备 扎实的数学基础! 3.外语; 最起码要有一定的英语阅读能力,当然掌 握得越多越好! 4.计算机知识; 必须熟练掌握8088系列x86汇编语言 和一门高级程序语言! 5.悟性; 必须具有一些触类旁通的本领,死记死背 定律以及公式是不行的! • 我缺乏的东西:2,3,4,5,所以我是普通菜鸟
软件狗
• 安装在并口、串口等接口上的硬件电 路,同时有一套适用于各种语言的接 口软件和工具软件。当被狗保护的软 件运行时,程序向插在计算机上的软 件狗发出命令让它执行,根据执行结 果验证软件是否合法。 • 这种方法需要附加的硬件,成本比较 高,用户使用起来也不方便。
序列号保护
• 软件要求用户输入用户名,发送给开发者, 由开发者根据用户名计算出序列号,返回 给用户,在用户端验证。 • 数学原理: = F(用户名) 或 用户名称 = F逆(序列号) • 如果有一对 (序列号,用户名) 被散发, 任何人都可以用这对 (序列号,用户名) “注册”软件。
去掉所有限制,正版了
聪比较
那么上面的流程在汇编语言里面是怎么实 现的呢? 比较有2种方式,直接和间接,直接就是用: cmp x, y (比较值或者短字符串) • je (jne) label
程序比较
间接的呢?调用一个子程序比较,如下面的代码 if (strcmp(&x, & y)) //如果strcmp返回值是1 printf(“right”); else……………..//当然是错误拉 用汇编语言描述呢? push &x; push &y; call strcmp; test ax,ax ;判断返回值(也就是出口参数) je……
什么是壳
壳就是保护程序不被修改或反编译的一段程序
加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类 似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过 程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一 段指令,告诉CPU,怎么才能解压自己。 当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个 外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解 开,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的, 是不可以了解具体是怎么样在内存中运行的。 通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专 门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程 序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被 人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护 你的程序数据的完整性。不被修改或者窥视你程序的内幕。


神秘的解密
• 很多人可能觉得解密很神秘,那么解密神 秘吗? 到底什么是解密呢?简单点且不太准确的 说,就是解开密码。去掉限制。有时我们 也称为破解(crack),做破解的人我们称 为cracker。
你见过破解的东西吗?
当然,你用的Office 2003是花多少钱买的? 4块?10块?哇,好贵啊!可是你知道正版的 多少钱吗? 这里是微软提供的价格 直接从Microsoft订购 Office Professional Edition 2003,新用户价格 Office Professional Edition 2003 RMB 3,822 生活中基本所有用过的杀毒软件都是破解的!
壳的介绍
• 所有压缩壳:upx、AsPacK、UPacK等,初级保护壳:yC、Softsentry、 Visual Protect、PESHiELD、Armadillo Standard Protection、tELock、 PESpin等 中级保护壳:Armadillo CopyMem-II、ASProtect V1.X、NTkrnl Protector、 PE-Armor、Dongles、SVKProtect、Obsidium等 高级保护壳:EncryptPE、Private exe Protector、Armadillo Nanomites、 ASProtect V2.X、EXECryptor、StarForce、SafeDisc、VMProtect、 Themida等 演示脱壳!
相关主题