プログラム解析手法

注:この内容は個人的な主観によるものです。
ブログが放置気味なんで、たまにはこういった話題もいいかなと。
でも、最近はあまり解析してないですがw

プログラム解析について

いろいろ解析してきて一番思うことはプログラム解析は地道な作業の繰り返しだということです。
いくら頑張っても成果が出ないときもあるし、もうだめだとあきらめることも珍しくありません。
もっと、よい方法が世の中にたくさんあったとしても知る手段も無く、結局は自分なりの方法でやるしかないんですよね。
果てしない数の砂の中から一粒を捜すようなものです。
「改造できないプログラムはない」どこかで読んだ覚えがありますが、それは物理的には月に行けるけどっていう事にしかきこえません。

解析方法

結論は「とにかくやるしかない」
いろいろ試してると自分の方法ができてくると思う。
そういうのを徐々に増やしていけば応用が利くようになると思います。
この方法がだめだから、次の方法を試そうって具合に。

ゲーム改造について

普通に作ったプログラムっていうのは、解析される事を前提にしていないのが普通だと思いますが、
商用のソフトウェアなんかは解析される事を前提にしているので解析されないような工夫がされています。
それとは逆にみんなでプログラムを共有しましょうって考え方でソースコードが公開されているオープンソースって言うのもあります。Linuxなんかが有名です。
当然、オンゲーは解析されないように工夫されています。
さらに最近のオンゲーなんかはゲームガードと呼ばれるソフトウェアが入っていることが多く、有名どころでいうと「nProtect」「Xtrap」「HackShield」なんかがそうです。
ゲーム自体には解析されないような細工をほとんどしないで、こういったソフトに任せてしまうという場合も少なくないです。
しかし、ゲームガードを入れる事でいろいろ問題が起こるケースもあるようで、ゲームガードなしでゲーム自体の細工だけってものも一部あります。

解析方法の一つとして

イメージとしてはゲームガードはゲーム本体とは別のプログラムで、ゲームと一緒に動くプログラムです。
なら、ゲームガードを停止してしまえばいいやって思うかもしれませんが、世の中そんなに甘いわけが無く、そんな事はできない(できたとしても簡単ではない)仕組みになってます。
そうなってくるとゲームガードを外すより、ゲームガード付で解析した方が楽だったりします。たぶんw
つまり、ゲームガードに引っかからないように解析すれば良いのです。
例えば、プログラムに少し細工をして重要そうなデータを探ったりと


上の画像はデータを監視しやすいようにWPE_PROなんかを参考にしたUIで、解析用のプログラムを自作してみたものです。
WPE_PROって個人的に使いやすかったんですよね。
すべて手作業で解析するよりも何倍も楽になったりします。
こういったものはゲーム自体の仕組みさえわかっていれば、素人でも簡単に作れてしまいます。今はそういう時代です。
別にゲームガード回避という意味でなくても自分でプログラムを作れるといろいろ便利です。
パソコンの得意な事は驚くほどのスピードで正確に作業をしてくれることですから利用しない手はありません。
と、まぁ工夫すればゲームガード付きでも多少はなんとかなる部分もあったりはしますが、限界を感じてたりもしますw
解析するたびにいろいろ身に付けていくしかないのかな。
後は、時間が許す限り頑張る!!