当前位置:首页 » 编程软件 » 编译器解密

编译器解密

发布时间: 2022-06-19 08:24:03

‘壹’ 一般的软件加密狗怎么破解啊

加密狗怎么破解狗是什么?狗是一种智能型计算机软件加密工具。它有一个安装在微机后部的并行口上的硬件电路,同时有一套适用于各种语言的接口软件和工具软件。 当被狗保护的软件运行时,程序向插在计算机上的软件保护锁发出查询命令。软件保护锁迅速计算查询并给出响应。正确的响应保证软件继续运行。如果软件保护锁被拔掉,程序将不能运行。复杂的软硬件技术结合在一起以防止非法发布和使用。采用狗保护软件只能在指定的装有狗的微机才能运行,使用时很不方便,如果不小心狗损坏,软件就不能运行,真是欲除而后快!
目前市面常见的狗技术有圣天诺(Sentinel)和HASP等。现在狗的技术发展很快,针对不同的应用场合有不同的类型,如:
强劲狗: 自由定义算法的高强度加密方案
微狗: 面向单机环境的高强度加密方案
USB狗:USB接口的微狗全兼容产品
软件狗: 面向单机环境的低成本加密方案
网络狗: 面向网络环境的加密方案
卡式狗: 面向网络环境的加密方案
现在的狗一般采取了各种的加密技术,目前较先进的加密技术有如下几种:
①AS技术: API函数调用与SHELL外壳加密结合,即使外壳被破坏,加密程序依然不能正常运行。
②反跟踪:
1.数据交换随机噪声技术:有效地对抗逻辑分析仪分析及各种调试工具的攻击。
2.迷宫技术:在程序入口和出口之间包含大量判断跳转干扰,动态改变执行次序,提升狗的抗跟踪能力。
③抗共享: 可从硬件对抗并口共享器,由开发商选择是否共享狗。
④口令: 可由软件开发商设置32位口令,口令错误将不能对存储区进行读写。
⑤时间闸: 某些狗内部设有时间闸,各种操作必须在规定的时间内完成。狗正常操作用时很短,但跟踪时用时较长,超过规定时间狗将返回错误结果。
⑥单片机: 硬件内置单片机,固化的单片机软件保证外部不可读,从而保证狗不可仿制。
⑦存储器: 提供200字节掉电保持存储器供开发商存放关键数据、配置参数等信息。
1、普通的狗一般是通过读取I/O端口的狗来进行验证的,因此可用SOFTICE或其它调试工具来监视I/O端口。一般常用的指令:
BPIO -h 278 R
BPIO -h 378 R
2、要注意的是,用上面2中所提的方法只能对付一般的应用程序,也就是等级为3 的普通程序,这些程序属于直接读取狗的那一类,基本上使用像 SOFTICE 之类的调试工具就可以轻易的解开了,现在世面 上有不少使用 VxD 来读取狗的程序,VxD 属于等级 0 ,也就是最高等级,理论上是不可能拦截得了的,这也是为什么有许多厂商要使用 .VxD 来读狗的原因。
3、其它常用函数断点
CreateFileA (读狗驱动程序), DeviceIOControl, FreeEnvironmentStringsA (对付HASP非常有效). Prestochangoselector (16-bit HASP’s), ’7242’ 查找字符串 (对付圣天诺).

‘贰’ 如何破解和制作“加密狗”程序!

硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。 对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。 目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。 由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。 例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。 数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。 计数器是这样一种单元,软件开发商在其软件中使用Decrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。 算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryData)函数访问它,其中queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。 此加密锁(加密狗)的所有API函数调用都会有返回值,返回值为0的时候表示成功。 因此,破解思路就出来了,就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要的数值即可。 这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。 以上是目前破解软件加密狗(加密锁)的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的,下一回我将在《软件加密锁编程技巧》一文中具体介绍一下软件开发者将如何编写安全可靠的代码,使得这种类似的破解方法失效。

‘叁’ 怎么将一个文件加密和解密(有原理就行了)

特定扩展名的文件 一般是不同加密程序进行加密才出现的。。。因为加密程序方式不同。自然也独特了。。。我不晓得原理。但是加密程序种类和途径是相当多的。。。

‘肆’ tea加解密算法经过Keil编译在单片机中运行结果错误,求帮助

c并没有规定int,long 之类的数据类型对应几个char,所以造成按位运算在不同的编译器下运行结果不一样
解决办法
#define int8 char
#define uint8 uchar
#define int16 int //16位mcu
#define int16 (short int)//32位mcu
.......
这个样子就可以避免数据类型的差异所带来的影响(不知道int代表几个char,就用sizeof(int))
还有,你的long btea(long* v,char n,long* k);
而你调用的时候btea(plainbuffer, 2,key);
函数签名和定义的数据类型不一致,也会发生错误(不要以为unsigned可有可无)
你这样调整一下,应该就没有问题了

‘伍’ 请教个传奇GOM引擎的解密

如果你真的想给发动机转换,转到主网HERO最新版本的引擎文件,一个一个地找到相同的文件被覆盖,登陆器已经更换,但更换引擎的游戏后,不能保证正常运行,部分功能无法实现或出现错误,特别是脚本变量,如果你知道一些编程语言,那么你知道,每个人是不一样的编译器,像一个各种意义比中国话的英文翻译,它会造成误解,如不正确的翻译

‘陆’ 加密狗如何破解

本文介绍的是软件加密狗破解的一般思路和方法。做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路 以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开 发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。

对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。

目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。

由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。

例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。

数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。

计数器是这样一种单元,软件开发商在其软件中使用Decrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。

算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryData)函数访问它,其中queryData是查询 值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软 件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。

此加密锁(加密狗)的所有API函数调用都会有返回值,返回值为0的时候表示成功。

因此,破解思路就出来了,就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、 Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要 的数值即可。

这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。

‘柒’ 按键精灵怎么把加密脚本解密呢

在按键启动时读入加密脚本在编译器中.分两套处理.一套为不加密的脚本一套是遇到PK开头符号的加密脚本处理

加解密算法的还没有空进行分析.估计都不是太难.就是MD5和河豚算法了

‘捌’ 跪求:这个源代码是用什么加密的解密后这个是什么意思啊

仅针对上述代码(其他代码不建议这么做,以免中毒):
创建一个扩展名为txt的文件,把脚本内容保存到这个文件中。之后,修改扩展名为vbs。鼠标双击,运行。
可以发现
行:1
字符:1
错误:缺少语句
代码:800A0400
源:Microsoft VBScript编译器错误

‘玖’ 请教代码解密

我不信有什么解释器强大到可以解释这么一长串连续且没有规则的代码。
所以我有理由相信:这是乱码,而不是代码。或者就是已经过编译的二进制代码的十六进制格式,除非能够知道用的什么编译器,并且有本事进行反编译。
---------
神奇。不知是怎么对应的。

‘拾’ shellcode怎么解密

替换是完全可行的!但是这类程序一般都会进行“加密”,这个加密并不是指对编译后的代码进行加密处理(比如UPX),而是原作者在进行编程的时候用另一种思维或者采用编译器的语法分析器的漏洞进行变相的“加密”,这样的程序中寻址非常混乱,同一块内存空间,进行相同的操作,会出现不同的多种寻址方式,这样一来,shellcode等替换操作的难度将会大大提高!
要替换,首先你要考虑替换后的程序中所有的寻址完全正确,不会出现错误的地址!其次你要看看原程序是否对原来的shellcode段有校验操作,如果有,破解之!最后对于具体的情况对头进行重建!
总之shellcode等替换操作是比较复杂的,中间要考虑很多很多因素!

LZ为什么要去替换呢?既然自己已经弄到了shellcode,写一个小程序不是易如反掌嘛,何必大费功夫的去替换呢!
如果你实在想替换,给你个很好的建议,没事儿的时候写个EXP程序,定个全局指针变量,在程序中对这个指针进行下赋值操作,随便赋个值,要是赋地址那种的,然后下面用嵌入式汇编写几个比较有特点的代码(比如连着10个"emms"),编译程序,等你有新的shellcode的时候,首先把shellcode附加到程序文件尾,然后反汇编,找到有特点的那些汇编指令(比如连着10个"emms"),找到上面的mov指令(对应源代码里指针赋值),把操作数改成shellcode的内存线性地址,将下面的有特点的代码nop掉,保存!即可完成替换!

对于shellcode的解密,完全可以通过反汇编EXP程序来逐步分析,不过这个过程要求你有很高的汇编水平,分析出原shellcode所在的段!再有一种办法就是,把EXP程序加载到一个调试工具中,然后跟踪一下,shellcode有些地方类似病毒,一般可以跟踪出解密后的shellcode代码!由于原shellcode是加了密的,进行替换,很麻烦,很复杂,如果搞懂了加密方式还行,否则很困难!

热点内容
汽车小组件怎么弄到安卓桌面 发布:2025-05-16 13:51:12 浏览:218
linuxg编译器下载 发布:2025-05-16 13:50:58 浏览:775
centosc编译器 发布:2025-05-16 13:50:17 浏览:946
安卓手机如何变换桌面 发布:2025-05-16 13:39:33 浏览:514
sql存储过程命令 发布:2025-05-16 13:17:54 浏览:145
用纸做解压小玩具西瓜 发布:2025-05-16 13:04:09 浏览:935
局域网xp无法访问win7 发布:2025-05-16 13:03:58 浏览:942
油卡如何修改密码 发布:2025-05-16 13:00:35 浏览:901
安卓手机如何拼照片 发布:2025-05-16 12:58:23 浏览:374
深入浅出python 发布:2025-05-16 12:56:52 浏览:655