Time-limiting code

6 ビュー (過去 30 日間)
mahmud mohammadi
mahmud mohammadi 2011 年 5 月 23 日
[EDIT: 20110523 17:40 CDT - clarify - WDR]
I need to give a program code in a m.file type. but I want that code be expired after a specific time. Can you help me?
  1 件のコメント
Jan
Jan 2011 年 5 月 23 日
Are you sure you need M-files? P-file cannot be modified or read in clear text. But a secure time limitation cannot be achieved by P-coding also.

サインインしてコメントする。

回答 (2 件)

Sean de Wolski
Sean de Wolski 2011 年 5 月 23 日
  2 件のコメント
Jan
Jan 2011 年 5 月 23 日
This thread concerns P-files. The OP asks for M-files - to my surprise.
Sean de Wolski
Sean de Wolski 2011 年 5 月 23 日
I'd guess the OP had never heard of a p-file.

サインインしてコメントする。


Jan
Jan 2011 年 5 月 23 日
M-files are very easy to edit. Therefore it is hard to imagine which level of protection you expect from such an expiration.
I assume the best expiration mechanism for an M-file is removing all comments, using minimalistic names for variables and subfunctions, interchange of variables by ASSIGNIN and EVALIN and using a flock of variables (G1, G2, G3, ...) instead of an array together with EVAL command to access them.
Then let the customer sign a contract, which includes the date of expiration. Without your support, such an ugly M-file is useless and the customer will delete it voluntarily.
There are some very good examples for this method in the FEX. Look for files, which have been rated with 1 star by John D'Errico. [EDITED: Tried to formulate the last sentence more clear.]
  7 件のコメント
Walter Roberson
Walter Roberson 2011 年 5 月 23 日
Jan, when you create a field name that way, is it the single-byte characters or the double-byte characters? And if you have something like a struct(), does it use double-byte characters like the rest of MATLAB or does it "save space" by using single-byte characters?
Jan
Jan 2011 年 5 月 24 日
The fieldnames are 8 bit UCHARs: CHAR(200) works as fieldname if created inside a Mex and accessed by "S.(char(200))", but CHAR(300) fails.
mxGetFieldNameByNumber replies a pointer to a \0 terminated C-string with a fixed distance of 64 byte - at least in all tests I've performed with Matlab 2009a, but this is not a proof.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeProperties についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by