shuto_log.aep

ブログ名変わりました。自分がやったことなどを備忘録的な感じで残していこうと思います。

難読化された .jsxbin ファイルを読んでみる

はじめに

この記事はAfterEffects Advent Calendar 2016の11日目の記事です。

本エントリーでは、ExtendScriptの難読化ファイルである .jsxbin ファイルの解析方法及びその結果を扱った英語の記事を解説しつつ翻訳・紹介していきたいと思います。(99%元記事の二番煎じですが、自分もハンズオン的な感じで手を動かして試してみました)

想定している読者層は、プログラムを書ける人です。特定のフレームワークや特定の言語、に精通している必要はありませんが、AE上で何かしら自分で関数を作り、自動化処理などさせたことがある(ExtendScriptを少し書いたことがある)くらいだとより理解しやすいかもしれません。ただし、途中から思考実験のような内容になっていきます。プログラミング力というよりも、推測力が求められるかもしれません。。。 (結局11時間くらいぶっ続けで書いたのでくだらない誤字・誤りなどあるかと思います。意味わからないところなどあればTwitterかコメントなどでお知らせ・ご質問ください。)

元記事の紹介

まずはじめに元記事のリンクを紹介します。

Reversing JSXBIN File Type

元記事は、ExtendScriptの難読化された .jsxbin ファイルの解析方法と、その結果を紹介しています。
通常、AEのスクリプト.jsx という拡張子で記述し、保存します。普通に自分で書いて使ったり、そのまま人に配って共有する場合は全く問題ないのですが、極秘の技術やアルゴリズムを用いて作成したスクリプトを配る場合や、商品として販売する場合はこれだとソースコードが丸見えで困ります。(同じ方法を真似されてしまったり、改変してあたかも自分で書いたかのように販売されてしまうかもしれません。)
その為、Adobe公式のエディターであるExtendScript Toolkitには人間には読めないけど実行は可能な形式( .jsxbin )に変換する機能が備わっています。元記事では、その「 .jsxbin ファイルを無理矢理読解してやろう」という記事です。
結果としては、完全には復元は出来ないのですが、一部が復元出来てしまいます。本エントリーでは、その内容を日本語で紹介してみたいと思います。当然のことながら、実際に販売・配布されているjsxbinファイルを解析し、その内容を公表したりしてはいけません。飽くまで自分で作成したスクリプトにだけ使うようにしてください。
それでは、元記事の流れを踏襲しつつ、日本語で紹介していきたいと思います。(jsxbinだったりJSXBINだったり表記が揺れることがありますが、主に僕の言葉で書いているのはjsxbinという小文字表記です。JSXBINという大文字表記は元記事に合わせた書き方で、元記事を翻訳した箇所などで使っています。)

続きを読む

Tensorflow Playgroundを翻訳してみた

はじめに

本記事はNCC Advent Calendar 2016の7日目の記事で、Tensorflow Playgroundの日本語訳と補足になります。 playground.tensorflow.org

↑Tensorflow Playgroundはニューラルネットの学習の様子を可視化して見れるサイトで、初学者の理解の助けになります。

ちなみに、TensorflowとはGoogleが開発したオープンソース機械学習ライブラリです。C、C++Pythonなどで書けるそうです。

www.wikiwand.com

注意事項

私は機械学習を専攻しているわけではなく、研究で扱う必要があって勉強している一学生です。 最後に「個人的メモ」として自分の解釈(補足)を載せています。翻訳に関しては大きな問題はないかと思いますが、もし誤りなどあればコメントなどでご指摘お願いします。

また、機械学習?なにそれ美味しいの?と言う人は以前学内の勉強会で作成したこちらのスライドを読むと雰囲気が伝わるかもしれません。

www.slideshare.net

続きを読む

「CO5M1C R4ILR0AD」BGAメイキングブログ

はじめに

本エントリーは、下記映像作品のメイキングブログとなります。制作過程や工夫したこと、こだわりなどを記していきます。ソフトの使い方や細かい設定項目などについては割愛しています。
CGについて専門外の人にもなるべく分かりやすいように書くつもりなので、くどい表現があるかもしれません。また、飽くまで趣味範囲で個人的な内容なため、本エントリーの内容がベストとは限りませんし、考え方が一般的には不適切な可能性もありますことをご承知おきください。

CO5M1C R4ILR0AD HD

ニコニコ動画: 【BOFU2016】 CO5M1C R4ILR0AD / kanone 【BGA】 by Shuto 音楽/動画 - ニコニコ動画

Vimeo: 【BOFU2016】 CO5M1C R4ILR0AD / kanone 【BGA】 on Vimeo

BOFU2016作品ページ: 【BOFU2016 - Legendary Again - 詳細情報】 No.220 "CO5M1C R4ILR0AD / kanone " - TEAM : Futurist Voices

続きを読む

AWSにubuntu 14.04インストールして初期設定したメモ。

はじめに

この記事は、AWSを登録した直後の状態から、ubuntuのEC2インスタンスを作成し、自分のMacからsshの公開鍵でログインできる状態にした際のメモ。
あとubuntuの初期設定もした。色々と初めてなので、誤りなどの指摘ヶ所あればぜひコメントお願いします。

続きを読む

(主にC++の)ポインタ入門

C++でポインタを扱う際の超初歩的な話。
先日学んだノートとして。

ポインタとは

  • ざっくり言うとメモリを直接指し示すもの。
  • 一般に「ポインタ」とは下記の概念の総称である。
    • 「ポインタ型」:ポインタを扱うための型。
    • 「ポインタ変数」:ポインタ型の変数のこと。
    • 「ポインタ値」:変数の物理メモリ上のアドレス。
続きを読む

映像制作の時の思考をまきのせなさんに聞いてみた

去年参加したFRENZ2015にて、映像クリエイターのまきのせなさん「映像制作における作品の構成や展開はどのように練っているのか」「制作のやり方はどう作っているのか」といったような質問をぶつけてみました。その答えをTwitterで頂いたので、埋もれてしまう前にメモしてみます。

twitter.com

続きを読む

Mac OSX 10.11.4環境に Python 3.5.0 + MeCab インストールメモ

このブログは #onsen2016spring の提供でお送りします


はじめに

標準のPythonしか使ってなかったけどサークルの合宿で自分のMacに表題の環境をインストールし直したのでメモ。
homebrewを使っている前提です。

お品書き

  • 異なるバージョンのPython管理(homebrew + pyenv)
  • MeCabおよびmecab-ipadic-NEologdのインストール
  • Python上でMeCabを使えるようにする(mecab-python3)
続きを読む