過去のコンピュータ用のゲームなら

list of vintage pc

list of retro pc

list of old pc

list of classic pc

list of vintage computer

list of retro computer

list of old computer

list of classic computer

の検索キーワードでコンピュータの種類を一覧で見て特定のコンピュータ用の逆アセンブラをgoogle検索から見つける

dos disassembler

pc98 disassembler

...

etc ...

で逆アセンブラを見つける

それを仮想マシンやエミュレータを使ってゲームソフトを仮想マシンやエミュレータ内にインストールする

逆アセンブラ自体も仮想マシンやエミュレータ内にインストールする

逆アセンブラをコマンドかショートカットから起動させてゲームソフトの実行ファイルを読み込む

そして解析。エミュレータ自身では利用できない場合が多いので自分でエミュレータのソースコードを読んで改良しても良い。

 

ゲーム機なら

list of game console

kind of game console

で特定のゲーム機の略称も同時に調べておく

ファミコンなら nes, fc とか

スーパーファミコンなら snes, sfc とか

それのキーワードと逆アセンブラを組み合わせて検索する

nes disassembler

nes 逆アセンブラ

snes disassembler

snes 逆アセンブラ

etc ...

...

その逆アセンブラをpcにインストールして、そのゲーム機のromファイルを読み込ませる。必ず自分でromイメージを吸い出す、吸い出し機を使う。

後はnesdev, snesdev, "gb gbc dev", とかのキーワードで検索して解析方法を学ぶ。

 

配信プラットフォームなら

ゲームを配信しているクライアントのソフト自体をリバースエンジニアリングツールにかける。

steam等の配信を司るクライアントソフト自体を逆アセンブラにかける。

格納されたゲームのソフト自体は個別にゲームエンジンで作成されているのでUnity自体もリバースエンジニアリングツールを使って解析する。

暗号化されたファイルなら暗号の論文と本をgoogle論文検索とsci-hubを使って自前でゲームソフトのバイナリをdecryptする。

復号化されたゲームソフトを逆アセンブラにかける。

 

cd/dvdのゲームなら

仮想マシン上のwindowsを各エディションごとに用意して、cd/dvdイメージを仮想マシンにマウントしてゲストOSのwindows上にインストールする。それをゲストOS上にインストールした逆アセンブラ等を用いて解析する。解析魔法少女の本とかが今でも参考になる。

エレクトロニクスや電子工学、回路設計の技術を盗むならEDA(Electronic Design Automation)のソフト自体をリバースエンジニアリングツールを使って設計ツール自体を解析する。難読化されていても時間をかけて読み解く。

 

Microsoftの開発環境やフレームワークとプラグイン等もしくはランタイム等をリバース・エンジニアリングツールにかける。

 

FPGA, CPLD設計ツール自体をリバースエンジニアリングツールにかける。

 

Microsoft Officeを逆アセンブルしてオープンソースのオフィスソフトの実装を改良する。

 

windows ddk/wdk 自体をx86,x86_64用の逆アセンブラでddk/wdk自体を逆アセンブルすればwindowsのdriverをどうやって吐いているか分かる。

 

クローズドな (*.lib / *.dll) を逆アセンブラや逆コンパイラにかける。

 

ghidraをidaにかけたり、その逆でidaをghidraにかけたりも出来る。

fcitx5-mozcのインストール

端末を開いて

 

sudo apt update

sudo apt upgrade

 

sudo apt install fcitx5-mozc

 

このあと

端末で

 

im-config

 

と打ってfcitx5を明示的に選択して設定を終える

ログアウトして

左下のubuntuメニューから

 

fcitx5設定

mozc設定

 

で適切に設定を行う

 

fcitx5の設定は日本語キーボードなら

こうなっているのを確認する

 

mozcの設定は日本語キーボードなら

こうなっていればok

 

次にあらかじめgnome-tweaksとgnome-shell-extension-managerをインストール

端末で

 

sudo apt install gnome-tweaks

 

続けて

 

sudo apt install gnome-shell-extension-manager

 

fcitx5-mozcを使用するときに正しい位置にIMEがあるようにインストールしたextensionから新たに2つをインストールしておく

gnome-shell-extension-managerを上のマークを探して左下のubuntuメニューから開いて

 

* input method panel

* user themes

 

の2つを"探す"から検索してインストール

 

次に

 

電源の管理

サウンドの設定

フォントの設定

 

を済ませる

 

最後にtimeshiftを起動してスナップショットを手動で作成しておく

1.インストール直後の状態 最新の状態にする

端末から

 

sudo apt update

sudo apt upgrade

 

2.timeshiftのインストールとスナップショットの作成

端末から

 

sudo apt install timeshift

 

ubuntuの画面の左下のubuntuマークからtimeshiftを起動

スナップショットの種類 --> rsync

場所 --> 同じディスクを選択

スケジュール --> 何にもチェックを入れない(手動でスナップショットを取る設定にする)

ユーザー --> rootと自分のユーザー名のホームディレクトリを除外(すべてのファイルを除外をrootと自分のユーザー名をチェック)

フィルター --> 何も触らない

その他 --> 何も触らない

 

それでtimeshiftで最初の状態のスナップショットを取る(最初は時間がかかる)

コメントにfirst stateとでも入れておく(目印に)

 

3.snapのパッケージのリフレッシュ

端末から

 

snap refresh

 

4.flatpakの最初の設定

端末から

 

sudo apt install flatpak

sudo apt install gnome-software-plugin-flatpak

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

 

参考までに以下にリンク

 

5.flatpakのアップデート

端末から念の為

 

flatpak update

 

6.synapticのインストール

端末から

 

sudo apt install synaptic

 

7.timeshiftで再びスナップショットを取る

MFR-LQとフィジカルAI

テーマ:

ロボットの目標値生成にAIを使う

歩行動作を生成したり地面のどこに足をつくか等に使える

AIが自律して目標値を示すそれをMFR-LQの目標値に設定する

具体的には 状態変数 「x = 現在の足の角度 - 目標値」 の式で表せる

その目標値に対して制御理論で対象を目標値に制御する

今言われているようなフィジカルAIの様なものが出来上がる

MFR-LQのシミュレーションに組み込めばboston dynamicsの様なロボットシミュレーションが出来る可能性がある