admin管理员组

文章数量:1639831

       最近看论文,很多开源程序被加密成p文件。由于论文写得往往跟程序里实际做的还是有一定差别,很想借鉴一下前人宝贵的经验。之前,网上有大神曾经公布过逆向p文件到m文件,据说p文件采用AES-128加密格式,知道秘钥就可以反向逆向工程。由于matlab公司要求下架,该公测网站已经下架了。不过,可能有些人之前把该网站克隆过,去做有偿破解。

      这里,主要在讨论如何加密matlab程序程p文件(并不是绝对安全)和逆向工程原理(探索中),看来目前matlab程序加密最安全的方式是生成可执行文件.exe。

一、生成p文件

加密很简单,可以直接在matlab指令窗口下输入:

pcode test.m (要加密文件)

会自动在您的目录下生成对应的“test.p” (加密文件,这也就是要逆向的文件)

注意:P文件的运行速度跟m文件运行速度一样,并不是网上说的提前做了预处理,它只是变成了人不能识别的字母形式,其实还是可以通过某种途径反向解析出来。

Building a Content Obscured Format with P-Code
================================================================================
A P-code file behaves the same as the MATLAB source from which it was produced. 
The P-code file also runs at the same speed as the source file. P-code files 
are purposely obfuscated. They are not encrypted. While the content in a .p 
file is difficult to understand, it should not be considered secure. It is 
not recommended that you P-code files to protect your intellectual property.

 二、逆向工程讨论

matlab的所谓加密文件,看官网回复信件,加密只是把代码进行了字母模糊处理,并非直接转成机器的二进制码,因此,exe文件要比p文件更安全一些。

这里提供一组,加密和逆向之后的文件(下载地址 提取码:7zqr),以便对于逆向感兴趣的研究学习(仅限于研究,请遵照知识产权!)

注意:一般逆向之后的文件,所有的注释都没了,部分语句可能发生格式改变。

 

为了科研探讨经验!

一点点补充,未完待续。。。

参考网站:

【1】https://blog.csdn/stereohomology/article/details/54893271   

【2】https://sites.google/site/sippeyfunlabs/matlab-hacks/please-do-not-secure-your-password-in-matlab-p-code

【3】AES加密机制:https://blog.csdn/qq_38289815/article/details/80900813

【4】AES机密过程: 

https://blog.csdn/qq_38289815/article/details/80900813

https://coolshell//wp-content/uploads/2010/10/rijndael_ingles2004.swf

本文标签: 文件加密工程matlab