【P文件破解】MATLAB P文件转变M文件

 可通过pcode对MATLAB脚本文件进行加密处理,用于分享给第三方时,保护自己核心算法文件的所有权。
加密后的文件不改变程序功能,只是将程序设置为可使用但不可查看(包括加密者本人)。
代码一旦加密便不能被反编译。因此用户一定要注意备份源文件。
加密后的文件只能在MATLAB环境下使用。
注:执行中p文件优先于同名的m文件。

1 加密方法

MATLAB中对pcode的使用作了相关说明:

>> help pcode
 pcode - 创建对代码内容进行了模糊处理的可执行文件
    此 MATLAB 函数 对搜索路径中 .m 文件或文件夹中的代码进行模糊处理,并生成扩展名为 .p
    的 P 代码文件。例如,如果 item 是名为 mytest.m 的 .m 文件,则生成的文件是
    mytest.p。如果 item 是一个文件夹,则该文件夹中的所有脚本或函数文件都经过模糊处理并保
    存在当前文件夹中。在执行中 P 代码文件优先于对应的 .m 文件,即使已对 .m 文件进行了修改
    也是如此。

    pcode(item)
    pcode(item,"-R2022a")
    pcode(item,"-R2007b")
    pcode(item1,item2,...,itemN)
    pcode(___,"-inplace")

    输入参数
        item - 要模糊处理的 .m 文件或文件夹
            字符向量 | 字符串标量
        item1,item2,...,itemN - 要模糊处理的 .m 文件或文件夹的列表
            字符向量 | 字符串标量

    另请参阅 which

    已在 R2006a 之前的 MATLAB 中引入
    pcode 的文档
  • 操作

2.1 加密 .m文件

将下列函数保存为times.m文件:

function [f] = times(a,b)
f = a * b ;
end

此时对文件进行加密:

>> pcode times
>> 

加密后文件夹里出现p文件:

此时即使删去.m文件,p文件也能单独运行。
甚至更改p文件的名字,也能运行

>> times3(2,3)
ans =
     6

2.2 加密文件夹

pcode除了加密文件,还可以加密文件夹。
如图,在code文件夹里放置两个m文件:

将MATLAB工作目录设置为要加密文件夹的上一层

如下加密:

>> pcode code
>> 

加密之后,在加密文件夹同级目录下出现加密后的所有文件:

2.3 加密其它文件

如加密.mat文件

>> pcode matlab
>> 

2.4 加密GUI

GUI也是一种.m文件,直接对GUI的名字加密即可。加密方式同m文件。
加密之后用户只能运行GUI,但不能查看GUI后端代码。

2.5 其它加密方法

p文件被破解是可能的。使用 MATLAB Compiler 将源代码文件生成独立应用程序(.exe)会更安全。且能脱离MATLAB环境运行,但文件大小呈千倍放大。后续会介绍。

3 私信博主解密p文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab中,可以使用pcode函数来生成.p文件。pcode函数的用法是将要生成.p文件的.m文件作为输入参数,然后执行pcode函数即可生成对应的.p文件。例如,如果要生成test.m文件的.p文件,可以使用以下命令:pcode test.m。生成的.p文件将与原始的.m文件同名,但文件扩展名为.p。生成的.p文件可以用来保护代码的机密性,因为.p文件只包含已解析的版本,而不包含源代码。这样,当将.p文件提供给他人时,他们只能调用其中的方法,而无法查看源代码。 #### 引用[.reference_title] - *1* [matlab中.P文件的使用说明](https://blog.csdn.net/fyf18845165207/article/details/82830667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Matlab中的.p文件](https://blog.csdn.net/weixin_46039719/article/details/125366928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MATLAB中的p文件](https://blog.csdn.net/kaever/article/details/73850192)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值