Skip to content

datahackor/MATLAB-P-CODE-Decrypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

MATLAB-P-CODE-Decrypt

decode all version matlab p-file

引子

  • Matlab是个伟大的工具,不过我自己却是不太咋懂也不求甚解,N年前一个偶然的机会在University of Texas at Austin碰到一个人,他大概知道我会点什么,给我一个小程序问我看看我能不能搞定,这是一个MATLAB编译的可执行程序,业余时间研究了好久都没有头绪,于是没事就在网上找相关资料,墙内墙外的翻,那时只找到一个人,他大概已经弄明白了怎么玩,但是他的网站已经关闭,不再提供免费服务,他那篇语焉不详的介绍我读了好多遍都没什么收获。

突破

  • 大概2、3个月后的某一天,有一天我突然就想明白了,这不能不说是那位仁兄给了我极大的启发(虽然是语焉不详)。于是我开始写代码,第一个程序被还原了,除了注释不见了外,代码还原能够精确到行数。以后但凡这种用MATLAB编译的可执行程序,都可以轻松还原。作为给我那个小程序的哥们的回报,我给了他几乎整个University of Texas at Austin Petrophysical and Well-Log Simulator的源代码。但他给我的那个小程序我并没有给他,因为我觉得他有点过分(具体原因就不说了)。

矛盾的问题

  • 再后来就有人问那既然这个都行,是不是MATLAB 的 P CODE 是不是也可以还原呢?这一问,就是5-6年的光景。。。 有一天,我突然想到一种绝妙的方法,终于解决的P-FILE的问题,这里不方便透露了,倒不是说完全不愿意透露技术,只是因为我遇到太多的人,他们看似关注技术,其实只关注结果,说白了只想拿来,哪怕是动一下脑子都不愿意,我不愿跟这种人有交集。我就在MATHWORK的官网释放这条消息,当时有个哥们嘲讽说:“有的人还声称造出了永动机呢?”,打脸很容易,放出一个程序看我能不能给你还原就好了。

通杀

  • 目前除了非常古老的版本我不能还原之外,几乎可以全部还原,包括加密的M CODE,加密的P CODE (P FILE),当然,对于P CODE,因为我的词法分析器很粗糙,在罕见的情况下会失误,但是那种错误对于程序员来说简直太easy了,瞄一眼就能发现并修正,所以我也不想去不去改进它了。

About

decode all version matlab p-file

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published