0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Matlab的三种加密方式

Linelayout4 来源:新能源入门客 2023-10-23 10:41 次阅读

常用Matlab的同学应该了解Matlab的三种加密方式:

方式一:P文件
.p 文件是一种使用 MATLAB 的预编译版本,其后缀为 .p,与同名的 .m 文件对应。.p 文件意味着预解析(preparsed version),因为它是对 .m 文件中的代码进行预解析生成的。当再次调用同名文件时,实际上优先调用的是 .p 文件。

为什么要使用 .p 文件呢?

在实际应用中,第一次执行 .m 文件时,MATLAB 需要将其解析一次,这会增加执行时间。因此,我们可以预先解析代码并生成 .p 文件,以提升后续调用该文件的速度。值得注意的是,如果同一目录下存在同名的 .p 和 .m 文件,优先调用的是 .p 文件。

另一个用途是用 .p 文件进行代码加密。如果我们希望他人使用我们的程序,但又不希望他们看到源代码,我们可以只发送对应的 .p 文件。当他们获得 .p 文件后,可以使用命令“help 文件名”查看可以调用的方法列表。

然而,使用 .p 文件会带来一个问题,即无法像 .m 文件那样直接打开查看源码,从而无法学习或修改代码。此外,通过将 .p 文件转换回 .m 文件时,源代码中的注释也不会保留,导致代码的可理解性相对较差。

而且P文件加密并非牢不可破,只要知道加密的秘钥,就可以通过反向编译将P文件破解。

方式二:Mex文件
.mexw64文件或.mexw32文件,MEX文件的后缀名按32位/64位分别为 .mexw32/.mexw64。

MEX文件是由C或Fortran语言编写的源代码,经matlab编译器处理而生成的二进制文件。说白了就是编译器编译生成的二进制文件。一种接口文件。目标是.C文件转化成为.mexwXX文件。

MEX文件其实是其它语言与MATLAB的接口,通过MEX文件可以在MATLAB中像调用内嵌函数一样调用使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能提高MATLAB环境中数据处理的效率。

方式三:dll文件

.dll文件,众所周知Matlab的强大运算能力让各种工程软件望而却步,而VC程序的友好界面又让人爱不释手,如果能够让两者的优势结合起来的话,势必能让程序员欢欣鼓舞。还好MathWorks已经为我们想到了,基本上现在市面上主流的Matlab版本都可以支持VC和Matlab的混合编程。。

通过指令mcc -W cpplib:库名 -T link:lib 文件名 -c(指令格式:mcc -W cpplib: )可以将.m转化为dll文件供VS编译器进行函数调用。

反编译技术:
那么如何通过反编译技术将p文件,mex文件或者dll文件反向编译生成m文件或者c文件呢?

首先我们要了解正向的加密编译技术的原理;

如下图:

7c80587a-7147-11ee-939d-92fbcf53809c.png

反编译技术原理:

7c9bf1ca-7147-11ee-939d-92fbcf53809c.png

也就是说,如果我们知道了加密原理,反编译其实就是一件很简单的事。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    181

    文章

    2960

    浏览量

    230014
  • 反编译
    +关注

    关注

    1

    文章

    14

    浏览量

    8503

原文标题:如何理解Matlab反编译技术

文章出处:【微信号:新能源入门客,微信公众号:新能源入门客】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    伺服电机的三种控制方式

    伺服电机控制方式有脉冲、模拟量和通讯这三种,在不同的应用场景下,我们该如何选择伺服电机的控制方式呢?
    发表于 08-17 11:01 7034次阅读

    Proteus教程:按键的三种控制方式(轮询、矩阵、中断)

    Proteus教程:按键的三种控制方式(轮询、矩阵、中断)
    的头像 发表于 06-14 11:26 4507次阅读
    Proteus教程:按键的<b class='flag-5'>三种</b>控制<b class='flag-5'>方式</b>(轮询、矩阵、中断)

    三种复位方式比较

    三种复位方式比较
    发表于 08-16 17:31

    步进电机的三种驱动方式

    步进电机的三种驱动方式
    发表于 01-12 17:03

    三种加密器件的熟悉

    了解下这三种硬件加密器件,了解其对应的算法,具体的原理,以及如何用这板子才能实现这些加密方式。刚开始对这些加密算法其实还蛮忐忑的,因为基本不
    发表于 08-24 11:37

    请问stm32启动的三种方式是什么意思?

    请群主详细解释下这三种启动方式,看了参考资料不是很明白其意!谢谢!
    发表于 07-17 04:35

    常见的三种无线接入方式是什么?

    蓝牙无线组网的优点是什么?常见的三种无线接入方式是什么?蓝牙无线组网原理与上网方案分享
    发表于 05-26 06:33

    STM32的三种开发方式

    1 STM32的三种开发方式通常新手在入门STM32的时候,首先都要先选择一要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的
    发表于 08-05 06:56

    STM32三种启动方式是什么

    STM32三种启动方式是什么
    发表于 12-15 07:16

    步进电机常见的三种通电方式

    步进电机常见的三种通电方式
    发表于 07-31 17:26 1.1w次阅读
    步进电机常见的<b class='flag-5'>三种</b>通电<b class='flag-5'>方式</b>

    压供电系统的三种运行方式

    我国低压供电系统的三种运行方式:国低压供电系统主要有三种运行方式:TN系统、TT系统、lT系统。
    发表于 05-26 17:06 9911次阅读
    压供电系统的<b class='flag-5'>三种</b>运行<b class='flag-5'>方式</b>

    伺服电机的三种控制方式该如何应用

    一般伺服都有三种控制方式:速度控制方式,转矩控制方式,位置控制方式。大多数人想知道的就是这三种
    的头像 发表于 12-14 23:12 5219次阅读

    如何应用伺服电机的三种控制方式

    一般伺服都有三种控制方式:速度控制方式,转矩控制方式,位置控制方式。大多数人想知道的就是这三种
    发表于 01-22 06:30 7次下载
    如何应用伺服电机的<b class='flag-5'>三种</b>控制<b class='flag-5'>方式</b>

    缩放模拟输入信号的三种方式

    缩放模拟输入信号的三种方式
    发表于 11-02 08:16 0次下载
    缩放模拟输入信号的<b class='flag-5'>三种</b><b class='flag-5'>方式</b>

    Redis实现限流的三种方式分享

    当然,限流有许多种实现的方式,Redis具有很强大的功能,我用Redis实践了三种的实现方式,可以较为简单的实现其方式
    的头像 发表于 02-22 09:52 1015次阅读