問題タブ [disassembly]
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.
cocoa - 安全なCocoaコードを書く
私はココアでアプリケーションを作成していて、その中のいくつかの文字列に簡単にアクセスできるかどうかを確認したかったので、OTXを実行しましたが、残念ながらすべてのコードが見つかりました。コードをより「安全」にするため、または少なくとも文字列を暗号化/非表示にするために使用できる方法はありますか?文字列を暗号化する理由は、サーバーのパスワードだからです。本当に安全である必要はありません。パスワードを簡単に見つけられるようにしたくありません。
助けてくれてありがとう
directx - DirectXゲームのリバースエンジニアリングとパッチ適用?
バックグラウンド
私は東方シリーズのゲームの1つであるImperishableNightをプレイしています。シュートボタンは「z」、ゆっくり移動するのは「shift」、矢印キーは移動します。残念ながら、Shift-Zを使用すると右矢印キーがゴーストになるため、撮影中に右に移動できません。このゴースティングはすべてのアプリケーションで発生し、キーボードを切り替えると修正されます。
ゴール
分解されたコードで、キーボード入力を取得して「z」キーと比較するdirectx関数を見つけ、そのキーを「a」に変更したいと思います。これは楽しいプロジェクトだと思っています。スキャンコードのサイズが同じであると仮定すると、これはかなり単純なはずです。また、実行可能ファイルはわずか400kであるため、これは、コンピューティングのアンダーワールドの暗い側面を探求するためのユニークな機会を提供するかもしれません(冗談です)。
関連する経験
アセンブリでのコーディングの経験はありますが、逆アセンブルの経験はありません。DirectXAPIの経験はありません。
質問
ガイダンスが必要です。DirectXキーボードスキャンコードのリストと、必要な処理を実行するように見えるPEExplorerというプログラムを見つけました。
アセンブリの一部をC関数呼び出しで回転させて、読みやすくする方法はありますか?ゲームが現在押されているキーを取得する場所を特定し、それらをリストと比較する必要があります。変更する必要があるのはそのリストです。
任意の入力をいただければ幸いです。
windows - コンパイル済み DLL からの関数情報の取得
コンパイル済みの DLL がありますが、そのソース コードはもうありません。私が DLL に求めているのは、DLL が提供する関数と、その関数へのアクセス方法、つまり署名だけです。
これどうやってするの?
windows - Windows PE - リソースにない場合、文字列はどこにどのように保存されますか?
通常、.exe ファイル内の文字列 (ダイアログ ボックスの内容/タイトルなど) は、何らかのリソースに保存されます。
しかし、私が逆アセンブル/リソース検査したいくつかの最近のexeでは、文字列を含むリソースを見つけることができませんでしたがdb
、プログラムのソースコードに何とかハードコードされていました。
プログラムに直接配置されている文字列を抽出して変更するにはどうすればよいですか? それらは
const char*
C++ の s に相当すると思いますか?ダイアログ ボックスやメニューなどのコンテンツを「外部委託」しないのはなぜでしょうか。
windows - Windows PE ファイルからの .rdata Unicode 文字列の変更
Windows .exe ファイルの .rdata セクションに格納されている静的文字列を変更する方法を探していましたが、実際に行う方法はまだ見つかりませんでした。
- すべてを手動で (この場合は HEX エディターで) 行うには複雑すぎるため、解決策があるかどうかを知りたいと思いました。
java - 有益な結果を生み出すことができる優れたAndroidの分解とは何ですか
タイトルどおり、関数呼び出しのように、実行時のアプリケーションの動作
c - objdump は、-S オプションを使用してソース コードを表示する方法を教えてください。
バイナリにソース ファイルへの参照はありますか? バイナリで文字列を実行しようとしましたが、リストされているソースファイルへの参照が見つかりませんでした...
java - Java用の逆アセンブラ+デバッガ(ala OllyDbg /アセンブラ用のSoftICE)はありますか?
OllyDbg / SoftICE for javaに似たユーティリティはありますか?つまり、クラスを実行し(jarから/クラスパスを使用)、ソースコードなしで、中間コードの逆アセンブルを示し、ステップスルー/ステップオーバー/参照の検索/メモリ内の特定の中間コードの編集/ファイルへの編集の適用を行います。 。
そうでない場合は、このようなものを書くことさえ可能ですか(デバッグ期間中はホットスポットなしで生きることをいとわないと仮定します)?
編集:私はJADまたはJDまたはCavajについて話していません。これらは優れた逆コンパイラですが、いくつかの理由で逆コンパイラは必要ありません。最も注目すべきは、出力が正しくないことです(せいぜい、場合によってはまったく間違っていることもあります)。私は魔法の「Javaコードにコンパイルされたバイト」を探していません-実行されようとしている実際のバイトを見たいのです。また、(アセンブリデバッガーの場合と同様に)これらのバイトを変更し、できれば変更した部分をクラスファイルに書き戻す機能が必要です。
Edit2:javapが存在することは知っていますが、それは1つの方法しか実行しません(そして、いかなる種類の分析も行いません)。例(vmspecドキュメントから取得したコード):javaコードから、「javac」を使用してこれをコンパイルします。
java.classファイルに。javap -cを使用すると、次の出力を取得できます。
これは逆アセンブル部分では問題ありませんが(分析なしではあまり良くありません-「フィールド#4はExample.i」です)、他の2つの「ツール」が見つかりません。
- 命令自体(スタック、メモリダンプなど)を調べて、実際のコードと環境を調べることができるデバッガー。
- プロセスを逆にする方法-分解されたコードを編集し、(編集されたコードを使用して).classファイルを再作成します。
c - 静的Cライブラリの機能を確認する
私は静的Cライブラリ(たとえばmylib.a
)を持っていますが、そのファイル内に実装されている関数を見つけることができるかどうか疑問に思っていました。対応するヘッダーファイルがありません。javap
私が必要としているのは、Javaと同等のものです。
disassembly - メモリが 4G を超えるマシンでは、逆アセンブルはどのように表示されますか?
これは、4G 未満のラップトップで次のように表示されます。
4G 以上の RAM を使用している人は、ダンプを貼り付けることはできますか?
0x004012f7
容量が 2^32=4G しかないので、もはやそうではないはずだと思います