deparseでバイトコードを逆コンパイルしたいのですが、失敗しました。次のテストを行います:(perl 5.8.9)
1) t.pl という名前のファイルを 1 行で作成します。
print 1;
2) コンパイルして plc ファイルを取得する
$ perl -MO=Bytecode,-H,-ot.plc t.pl
3) 逆コンパイルを試みる
$ perl -MO=Deparse t.plc
use ByteLoader 0.06;
t.plc syntax OK
4) Concise モジュールを使用 $ perl -MO=Concise,-exec t.plc
1 <0> enter
2 <;> nextstate(main 174 y.pl:1) v
3 <0> pushmark s
4 <$> const(IV 1) s
5 <@> print vK
6 <@> leave[1 ref] vKP/REFC
y.plc syntax OK
with this method, we can got some valuable info, but it is hard to read.
ソースコードを取得できません。Web を検索したところ、Deparse モジュールは生成されたファイルを逆解析できるようです。perlcc -B
何か案が?ありがとう
参照:
http://ask.slashdot.org/story/05/11/11/0129250/protecting-perl-code