問題タブ [ilspy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - 逆コンパイルされたVBの__PostIncrementとは(ILSpyによる)
System.Collections.Generic.List(Of T).Add(item As T)
ILSpyを使用するために逆コンパイルされたコードを熟読していたところ、への呼び出しが見つかりました__PostIncrement
。私はVBでそのようなことを聞いたことがないので、掘り下げて見つけました:
- VBでは、コードは
Me._items(__PostIncrement(Me._size)) = item
です。 - C#では、コードは
this._items[this._size++] = item;
その言語で実際のポストインクリメント演算子を使用しています - MSILには、関数呼び出しはありません。これは、C#のポストインクリメントのように機能するようです(コメントは私のものですが、私はMSILの専門家ではないため、間違っている可能性があります)。
コードは次のとおりです。
これは正確には何__PostIncrement
ですか?VBでインクリメント後のILコードをシンボル化するのはSharpDevelopの発明ですか?それとも、実際に自分のVBコードで使用できるある種の定義ですか?
c# - Microsoft内部プロパティ-このプロパティにはセッターがありません
クラスからこれに出くわしたとき、私はILSpyでいくつかのシステムSystem.Internal.HandleCollector
クラスを熟読していました:
VisualStudioがプロパティにセッターがないと文句を言う(クラスをコピーした)場合、Microsoftはこれをどのようにコンパイルできますか?誰かがなぜこれが機能するのかを分析できますが、私のVSのコピーは文句を言います(ビルドフラグ?)?
このプロパティにはセッターがありません
エラーは各HandleCollector.HandleAdded =
ステートメントにあります。
c# - 逆コンパイルされたアセンブリ-異常なコード
ILSpyを使用してアセンブリを逆コンパイルしましたが、特に1つのクラスが注目されました。
さらにコードでは、プライベートデリゲートが実際のイベントを発生させるために使用されているようです。
質問:「コンパイル/逆コンパイルの魔法」が行われなかったと仮定して、このカスタムアクセサーの背後にあるアイデアを誰かが推測できますか?私はILにあまり詳しくありません、ところで...
(補足:アプリケーションはマルチスレッドであり、明らかにネットワーキングを利用しています。)
c# - 自動生成された [assembly].xml ファイルから C# ソース ファイルのツリーに XML コメントを再挿入する
私の状況:
先週、ILSpy を使用して .NET アセンブリを C# に逆コンパイルしました。それ以来、私はファイル/プロジェクトなどをマッサージすることに多大な労力を費やして、それらがすべて再び正しく動作するようにしました (多くの小さなバグ [主に ILSpy のコード生成プロセスが原因] とランダムな問題がありました。私が行くようにそれらを修正しています)。ゴールまであと数インチ、ゴールが見えてきました!
しかし、見よ、すべての XML コメントが欠落していることに気付きました。>.<
精査したところ、Visual Studio で生成されたすべてのコメントが内部にある .xml intelli-sense ファイルを見つけることができました。
達成したいこと:
これらのコメントを、生成された .xml intelli-sense ファイルからソース ファイルにコピーしたいと思います (このアセンブリには約 5000 のクラスがあるため、もちろん自動化された方法で)。
私の質問:
どのように進めればよいですか? このタスクを自動化するのに役立つツールはありますか?
c# - 宣言スタイルを選択するオプションが必要
誰でもこの問題で助けてもらえますか?
============
アセンブリからコードを逆コンパイルする場合 (例):
すべての「using」ステートメントがファイルの先頭にあり、クラスが適切に配置されている形式のコードを取得します。
これは私にとって問題です。逆コンパイル後に、クラス/構造体/列挙型などへの完全な名前空間パスを知る必要があります。では、すべての名前空間を「using」ブロックに含める代わりに、各オブジェクトの完全なクラス パスを記述するオプションはありますか?
希望する出力の例:
============
ILSpy フォーラムの私の投稿へのリンク
c# - ILSpy を使用した後、goto/switch ステートメントを削除します
ILSpy の使用に問題があります。このツールを使用して DLL を逆コンパイルしていますが、多くのゴミが存在します。ILSpy を使用した後に「goto」を削除するにはどうすればよいですか? :'(
助言がありますか?
前もって感謝します。
.net - ILSpy を使用して Windows Phone 8 の System.Windows.dll を逆コンパイルできない
無料の .NET アセンブリ逆コンパイラであるILSpyを使用して、標準およびサード パーティの .NET アセンブリを分析しています。標準の .NET WinForms および WPF ライブラリでは十分に機能しますが、.NET にある Windows Phone 8 用の System.Windows.dll を逆コンパイルできませんでしたC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\
。メンバーが表示されますが、その内部 (ソース コード) は空です。
ILSpy の問題ですか、それとも Red Gate の .NET Reflector などの他のツールを使用して Windows Phone .NET ライブラリを逆コンパイルできませんか? これらのアセンブリのソース コードを取得/表示する他の方法はありますか?
reflection - Windows CE アセンブリで使用される .NET ランタイムのバージョンは、必ず CF のバージョンと一致しますか?
亡くなった/棄権した元同僚が残したexe遺物を構築するために使用されたコンパクトフレームワークのバージョンを教えてくれるツールがあるかどうか疑問に思っていたところ、これを見つけました
tsandhol の推奨に従って ILSpy をダウンロードしましたが、TargetFramework エントリが表示されません。これはそこに含まれるものです(無実であるとされる人を保護するために難読化されたいくつかの文字列):
ここに関連する情報は「ランタイム: .NET 1.1」ですか?
このことから、TargetFramework は CF バージョン 1.0.* であると推測できますか?
アップデート
最新かつ最高のアプリ (CF/CE アプリではない) で TargetFramework を取得します。
更新 2
別の提案(Corflags)を試してみると、次のようになりました。
...しかし、ここまで来て「CF 1.0.3316.00」を検索すると、混乱するように見えました。
更新 3
奇妙なことに、dotPeek は、このアプリの .Net Framework が v4.5 であると主張しています.?!?
更新 4
問題の .exe がどの DLL を使用しているかについて、3 つの異なる話を聞いています。
dotPeek が示す唯一の参照は次のとおりです。
ILSpy が示す参照:
デバイスの \Program Files\HHS にある DLL:
3 つのリストすべての中で唯一System.Data.SqlServerCeです。
それ以外の場合、共通点は次のとおりです。
更新 5
ctacke の提案を使用して .NET Reflector を使用すると、問題の .exe が表示されます。
したがって、私が持っているのは、この.exeが実行されるCF 1.0.3316.00を持つデバイスです(バージョン1をターゲットにしているため、バージョン番号は正確には一致しませんが)、および両方のCFバージョンを持つ別のデバイスです2 および 3.5 ですが、この .exe は実行されず、バージョン 2 を対象とする同じコードに基づくものも実行されません。
更新 6
.NET Reflector を使用して、逆アセンブルされたソース コードをエクスポートする場合。参照されているアセンブリを自動的に解決できない状況がいくつかあります。
この最初の数回のインスタンスでは、ファイルを見つけて追加することができました。ただし、「system.windows.forms.datagrid」については、できません。私のシステムにはありません。
したがって、この場合は「スキップ」する必要がありますか、逆アセンブルされたソースをビルドできなくなります (「system.windows.form.datagrid」が必要であると仮定します。そうしないと、事業)?
次の 2 つのファイルにアクセスできなかったため、スキップしました。
それらのファイルをスキップした後、作成されたソース Reflector を開きました。プロジェクトはきれいにきれいになりました。ビルドしようとすると、sln ファイルを保存するためのダイアログが表示されました (Reflector は csproj ファイルのみを生成しました)。
ビルドは次のような 35 個のエラーで失敗しました: " Unexpected character $ " ここに:
これは、欠落している/スキップされたDLLが原因であると思います。
これらの 2 つの欠落ファイルは、3090 にも存在しません! ビルド/逆アセンブルする必要があるのに、.exe が実行されるデバイスに存在しないのはどうしてですか?
sql-server - Visual Studio 2013 で呼び出しのターゲットによって例外がスローされました
今日開いたときにVisual Studio 2013 Professional Edition
エラーが発生しましたexception has been thrown by a target of invocation.
また、dll をデバッグするために開こうとしましILSpy
たが、クラッシュしました。同じ殺人者からのものかもしれないと思います。私が行ったシステムでは、SQL Server 2012
昨日Professional Editionをインストールしました。
環境パスを確認しました。それは:
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C: \Program Files\Intel\iCLS Client\;c:\Program Files (x86)\AMD APP\bin\x86_64;c:\Program Files (x86)\AMD APP\bin\x86;%SystemRoot%\system32;%SystemRoot %;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C: \Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel( R) Management Engine Components\IPT;C:\Program Files\Dell\Dell Data Protection\Access\Advanced\Wave\Gemalto\Access Client\v5\;C:\Program Files (x86)\NTRU Cryptosystems\NTRU TCG Software Stack \bin\;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files (x86)\Windows Live\Shared;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c :\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\ Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\; C:\Program Files\Microsoft\Web Platform Installer\;c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;%systemroot%\System32\WindowsPowerShell\v1.0\ ;C:\source\Orion\trunk\packages\NuGet.CommandLine.2.2.0\tools;%TFSPowerToolDir%;%BPADir%;%HummPATH14%;%systemroot%\System32\WindowsPowerShell\v1.0\;C:\プログラム ファイル (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools \Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86) )\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\
私のOSはWindows 7 64ビットです。
activitylog.xml には次のものがあります。
c# - ILSpy/Reflector を使用して System.Management.ManagementDateTimeConverter.ToDateTime(string) の逆コンパイルされたコードを表示できませんか?
System.Management の実際の実装の詳細を確認しようとしています。ManagementDateTimeConverter.ToDateTime (文字列) ILspy を使用していますか? 何も表示されませんでした。次に、おそらく ILSpy のバグだと思い、Reflector を使用して逆コンパイルされたコードを確認しようとしましたが、詳細も表示されません (以下のコード スニペットを参照してください)。
基本的に、cim datetime がどのように解析されるかを確認しようとしています。詳細については、次を参照してください。
質問
この特定の関数/アセンブリの逆コンパイルされたコードを表示できないのはなぜですか?
managementdatetimeconverter が CIM DateTime 型の文字列を解析する方法の詳細はありますか?