は、コードはまだすべてのブラウザ/プラットフォームで動作しますか?
はい、外部スクリプトは内部スクリプトを実行し、内部スクリプト内の内部スクリプトを実行するようブラウザに指示します。言い換えれば、ouはeval
をeval
に入れることができます。
二重難読化はソースをリバースエンジニアリングするのに複雑さを増しますか?
これは必ずしも複雑さを増すわけではありませんが、ソースに近づくためには余計な手順が必要になります。あなたが使用する内部の難読化は、それ自体が外部の難読化によって難読化されていることに注意してください。したがって、リバースエンジニアは内部難読化の難読化されたコードで表示されますが、実際のソースコードは表示されません。
私は過去にリバースエンジニアリングを行っていましたが(実行ファイルがウイルスであるかどうかを判断するために)、文字通りC#のプログラムに出くわしました。難読化された方法で最初に別のファイルを解凍し、 DLLファイルがロードされ、実際には最終的に実行されるDLLファイル内のリソースからコード内にロードされ、一部のオンラインサービスに接続するための不快なコードを実行します。
ボトムラインは、これはその難読化厄介なコードを取得するために私にかなり多くの時間を必要とすることです。
だから、二重難読化は複雑さを増し、コードを取得するのに時間がかかる可能性があります。
ただし、パフォーマンスやメンテナンスのコストが導入されていないことを確認してください。
そして、ええ、彼らは逆設計することができるへのアクセスを難読化している最終的にすべてのもの...
* QUESTION:?!あなたがしようDID * – epascarello
@epascarello:いいえ、二重の難読化は、誰のような非常にウイルスに見えますそれを試みるだろうか? :D –
見て、jsPerformanceまたはjsFiddleにコードを入れ、「美容コード」をクリックすると、コードを理解するのが簡単になります。 – ajax333221