The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン 【NanDoKu】Xbox360向けexeの難読化エラー
日時: 2009/07/31 13:30
名前: kani

初めまして。いつもNanDoKuにはお世話になっています。
大変便利なツールを公開されていることに感謝します。

さて私は、.NET framework 3.5 + XNA Game Studio 3.1という環境で、Xbox360というゲーム機上で動作するゲームを開発しています。

XNA Game Studio 3.1
http://msdn.microsoft.com/ja-jp/xna/default.aspx
XNA Game Studioとは、WindowsとXbox360でのクロスプラットフォーム開発が可能な.NETライブラリで、Windows向けにビルドしたexeは、NanDoKuで難読化することができました。
しかし、Xbox360向けにビルドしたexeをNanDoKuで難読化しようとするとエラーが出てしまいました。

Xbox360用テンプレートのプロジェクト一式とビルドしたexeをアップロードしました。
http://www1.axfc.net/uploader/File/so/28141.zip&key=12345

解決法、または原因に心当たりがありましたら、是非ご教授いただきたいと思います。
よろしくお願いいたします。

Page: 1 |

ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.1 )
日時: 2009/07/31 13:35
名前: kani

// 文字数2000オーバーと言われてしまったので、エラー詳細の一部を貼ります・・・

Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.Reflection.ReflectionTypeLoadException: 要求された型のうち 1 つまたは複数を読み込めませんでした。詳細については、LoaderExceptions プロパティを取得してください。
場所 System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark)
場所 System.Reflection.Assembly.GetTypes()
場所 ).). ()
場所 ).). ({ )
場所 -.=.)()
場所 ((.(.=(Object , EventArgs ()
場所 ().}.((EventArgs )
場所 ().}.((Object , EventArgs ()
場所 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
場所 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
場所 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
場所 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
場所 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
場所 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
場所 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
場所 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
場所 System.Windows.Forms.ToolStrip.WndProc(Message& m)
場所 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.2 )
日時: 2009/07/31 13:36
名前: kani

************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
NanDoKu
アセンブリ バージョン: 3.2.5.0
Win32 バージョン: 3.2.5.0
コードベース: file:///C:/NanDoKu_3.2.5/NanDoKu.exe
----------------------------------------
System.Windows.Forms
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
mscorlib.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Xbox360Game1
アセンブリ バージョン: 1.0.0.0
Win32 バージョン: 1.0.0.0
コードベース: file:///C:/Xbox360Game1/Release/Xbox360Game1.exe
----------------------------------------
System.Windows.Forms.resources
アセンブリ バージョン: 2.0.0.0
Win32 バージョン: 2.0.50727.3053 (netfxsp.050727-3000)
コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.3 )
日時: 2009/07/31 13:36
名前: kani

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

例:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.4 )
日時: 2009/08/01 00:54
名前: Toki◆pRU.c9X.EOI

難読化しようとしている時点で発生しているのでしょうか?
それとも、NanDoKuでのExeファイル読み込みの時点でエラーが発生するのでしょうか?

エラーの内容から推測すると、後者だと考えられますが、
この場合、ライブラリの一部はリフレクションによる読み出しができないのかもしれません。

Xbox360向けビルドで起こることから、
それはXbox360向けの何らかのライブラリファイルだと思われます。

リフレクションは逆アセンブルの一種なので、
MSが特定のライブラリの逆アセンブルができないように対策している可能性があります。



ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.5 )
日時: 2009/08/02 07:25
名前: kani

ご回答ありがとうございます。

まさにexeファイル読み込みの時点でエラーが発生していました。
特定のアセンブリの読み出しができない以上、原理的に「難読化」できないということでしょうか?
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.6 )
日時: 2009/08/04 07:47
名前: kani

試してみたところ、.NET Reflectorでは逆アセンブルできてしまうようです。
是非、NanDoKuでの対応も検討していただければと思います。

失礼致しました。
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.7 )
日時: 2009/08/04 21:38
名前: Toki◆pRU.c9X.EOI

>試してみたところ、.NET Reflectorでは逆アセンブルできてしまうようです。
Xbox360Game1.exeが.NET Reflectorで処理できるということでしょうか?

これが出来るのならば、難読化できる可能性があるので、
エラーの根本的な原因を確認してみようと思います。

ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.8 )
日時: 2009/08/05 19:14
名前: kani

>Xbox360Game1.exeが.NET Reflectorで処理できるということでしょうか?
はい、そうです。丸見えでした。

>これが出来るのならば、難読化できる可能性があるので、
>エラーの根本的な原因を確認してみようと思います。
是非ともよろしくお願いします。
お役に立てる事があれば何でも仰ってください!
ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.9 )
日時: 2009/08/07 12:11
名前: Toki◆pRU.c9X.EOI

環境を整えての確認がやっと出来ました。

アセンブリ解析中に
Microsoft.Xna.Framework.Game.dll
Microsoft.Xna.Framework.dll
が読み込めないのが原因でした。

Xbox360Game1.exeのフォルダかNanDoKuのフォルダに上記ファイルをコピーして
実行することで、処理が可能になると思います。

ファイル Re: 【NanDoKu】Xbox360向けexeの難読化エラー ( No.10 )
日時: 2009/08/09 17:48
名前: kani

無事、難読化することができました。
環境まで整えて確認していただき、ありがとうございました。

Page: 1 |