JPG Exporter for AI

最終更新日

Comments: 2

あのなぁ〜昨日の晩、ScriptSlotの拡張機能の事考えてたんだけど…
よく考えてみりゃね、あのスロットってAI純正のメニュー項目なんよ。でね、めにうへっだふぁいる書き出させてみてもね、ちゃんとついてくるのね。
ああ…こいつぜってーアクション登録できるわw
って思ったんよ。でね、プラグインの実装やめちゃおうと思いました。
今朝、確認したらやっぱり登録できてね、正常に動くのね。AIでアクションにスクリプト組込みが可能になっていました。
知らなんだ……

と言うのはおまけです。本日はJPGエクスポーターををお届けいたします。

まずはコード

var cd=”66756e6374696f6e206578706f72744a50472861297b666f722876617220623d22222c633d303b633c612e6c656e67″
+ “74683b632b2b29622b3d753136746f3828612e63686172436f64654174286329293b613d222f76657273696f6e2033”
+ “2f6e616d65205b20342037333635373433315d2f69734f70656e20312f616374696f6e436f756e7420312f616374696”
+ “f6e2d31207b2f6e616d65205b20342036313633373433315d2f6b6579496e64657820302f636f6c6f72496e64657820”
+ “302f69734f70656e20312f6576656e74436f756e7420312f6576656e742d31207b2f75736552756c657273496e31737”
+ “45175616472616e7420302f696e7465726e616c4e616d65202861646f62655f6578706f7274446f63756d656e74292f”
+ “69734f70656e20302f69734f6e20312f6861734469616c6f6720312f73686f774469616c6f6720302f706172616d6574”
+ “6572436f756e7420372f706172616d657465722d31207b2f6b657920313838353433343437372f73686f77496e5061”
+ “6c6574746520302f747970652028726177292f76616c7565203c203130302030613030303030303031303030303030”
+ “303330303030303030313030303030303030303032633031303230303030303030303030303030303031303030303”
+ “030363930303664303036313030363730303635303036643030363130303730303030303030303030303030303030”
+ “303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303”
+ “030303030303030303030303030303030303030303030303030303030303030303030303030303030303130303e2f”
+ “73697a65203130307d2f706172616d657465722d32207b2f6b657920313835313837383735372f73686f77496e5061”
+ “6c6574746520343239343936373239352f74797065202875737472696e67292f76616c7565205b20222b622e6c656e”
+ “6774682f322b2220222b622b225d7d2f706172616d657465722d33207b2f6b657920313731383737353135362f7368”
+ “6f77496e50616c6574746520343239343936373239352f74797065202875737472696e67292f76616c7565205b2031”
+ “362034613530343534373230363636393663363532303636366637323664363137345d7d2f706172616d657465722”
+ “d34207b2f6b657920313730323339323934322f73686f77496e50616c6574746520343239343936373239352f74797”
+ “065202875737472696e67292f76616c7565205b203132203661373036373263366137303635326336613730363536”
+ “375d7d2f706172616d657465722d35207b2f6b657920313933363534383139342f73686f77496e50616c6574746520”
+ “343239343936373239352f747970652028626f6f6c65616e292f76616c756520307d2f706172616d657465722d36207”
+ “b2f6b657920313933353736343538382f73686f77496e50616c6574746520343239343936373239352f74797065202”
+ “8626f6f6c65616e292f76616c756520317d2f706172616d657465722d37207b2f6b657920313933363837353838362f”
+ “73686f77496e50616c6574746520343239343936373239352f74797065202875737472696e67292f76616c7565205b”
+ “20305d7d7d7d223b623d46696c6528466f6c6465722e6465736b746f702b222f736574312e61696122293b622e6f70”
+ “656e28227722293b622e77726974652861293b622e636c6f736528293b6170702e6c6f6164416374696f6e2862293b”
+ “6170702e646f536372697074282261637431222c2273657431222c2131293b6170702e756e6c6f6164416374696f6e”
+ “282273657431222c2222293b622e72656d6f766528297d66756e6374696f6e20753136746f382861297b7265747572”
+ “6e203132383e613f746f486578322861293a28323034383e613f746f4865783228613e3e362633317c313932293a74”
+ “6f4865783228613e3e31327c323234292b746f4865783228613e3e362636337c31323829292b746f48657832286126”
+ “36337c313238297d66756e6374696f6e20746f486578322861297b72657475726e282230222b612e746f537472696e”
+ “6728313629292e736c696365282d32297d766172207074683d466f6c6465722e73656c6563744469616c6f67282274”
+ “617267657420466f6c6465723f22292e66734e616d652b222f746573742e6a7067223b6578706f72744a5047287074”
+ “68293b”;var a=””;for(var w=0;w<cd.length;w+=2){a+=String.fromCharCode(“0x”+cd.substring(w,w+2));}eval(a);<cd.length;w+=2){a+=string.fromcharcode(“0x”+cd.substring(w,w+2));}eval(a);

</cd.length;w+=2){a+=string.fromcharcode(“0x”+cd.substring(w,w+2));}eval(a);

はい、かなりハードなコーディングです。先日見かけたマルウエアサイトのコーディングがヒントになっています。Illustratorでドキュメントを開いておいて動作させてみてください。デスクトップにtest.jpgが書きだされます。猛者はこのコードを解析すること!

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする

2件のフィードバック

  1. 解析しました!
    jpeg書き出しのアクションをテキストから生成して読み込み,ダイアログなしで実行しています。アクションの第2引数で保存先パスを動的に指定しているのがポイントですね。
    この方式を使うとブレンドのステップ数をダイアログなしでスクリプトから指定するとか,いろいろ応用が利きそうです。

  2. わはははw
    本当に解析した猛者がwww
    草はえるぅwww
    …動的にアクションを生成して実行後破棄という流れはAIのScripting DOMの貧相さに呆れ返った者たちが編み出した技でございます。JPG書き出しの場合はPluginへのパラメータの渡し方がとっても酷くて解析する気にもならないシロモノなのでRGBとCMYK用に別々に用意するなどの工夫を。PNGの場合はプレファレンス参照してくれるのでJavascriptからダイレクトに設定可能です。これはPreferencesのIntegerPreferencesのパラメータを設定することになるのですが、Pluginによっては呼び出された時に動的に設定を読んでくれるとは限りません。PNGエクスポートフィルタでは実行時にIntegerPreferenceを読み込みますので動的処理が可能です。
    この辺りの処理の統一感に全く一貫性を感じさせないのがIllustratorの実装の特徴であり、最大のダメダメぽいんとでもあります。
    基本的な部分と言うのは一貫性を大切にするべきだと思うのですが……(略)

コメントを残す