ソフトを起動する度に表示されるタイトルロゴや
使用上あまり必要の無い部分を機能させないようにしたいと思い
逆アセンブルをして解析を始めたのですが
必要の無い命令を無効にするにはどうしたらいいのでしょうか?
例えば
:0047D3EA push 000055F2
のようなダイアログ呼び出し(?)の命令があったとして
このダイアログの表示は必要無いので表示させないようにしたい
この場合どの様にして書きかえればよいのでしょうか?
バイナリエディタ等で開き書き換えるのだと思いますが
どのようにしてよいのかわかりません
また、ソフトウェア改造の違法性についても知っている方教えて下さい
アセンブリ言語初心者ですので質問に意味不明なところがあるかもしれませんが
そのへんもフォローしてお願いします
No.1ベストアンサー
- 回答日時:
まず、基本的に、市販のソフトウェアの場合、逆アセンブルをすることは、著作権などの関係で禁止されている場合がほとんどです。
(使用許諾書を見て下さい。音楽などと違って個人での使用時でも禁じていることが多い)上記がクリアされているとして、いらない命令はNOP(No Operation)命令(CPUによって違う名前かもしれません)で置き換えればいいと思います。ただし、置き換える命令の長さが、代わってしまうと旨く行かないので、NOPを必要な数だけ入れる必要が在るかもしれません。また、スタックの数もきちんと考える必要が有ります。
出来れば、自分で小さなアプリケーションを作成して、テストしてみると一番解りやすいと思います。
回答ありがとうございます
ご指摘の通り自作アプリケーションでやってみたいと思います
できればもう一つ教えていただきたいのですが
NOP命令にして置き換えるとします
その場合、バイナリを直接
バイナリエディタなどで書き換えて
やる事はできるでしょうか?
可能でしたら方法についても教えて下さい
No.3
- 回答日時:
まずソフトウェアの使用許諾所を読んで
ディスアセンブルなどのリバースエンジニアリングを
一切禁止するなどと書かれていないことを確認しましょう。
もし、本当にSplashWindowがうっとおしければ
開発元に文句を言いましょう。
正規ユーザなのだから、、、
No.2
- 回答日時:
先ほどの追加です。
もちろん、バイナリエディタで、該当するコードの場所をNOPのコードに変更すれば問題有りません。たとえば、例に有った、:0047D3EA push 000055F2
は、4バイトですので、NOPコードが2バイトのAA22だった場合、0047D3EAをAA22AA22にすれば、無効化が出来ます。ただし、該当するコードが3バイトでNOPコードが2バイトの場合など、前後のほかのコードを同じ動きをする別のコードに置き換えて調整をし、他からのジャンプなどにも注意を払う必要が有ります。
他に作業に当たっては、失敗することを考えて、元のプログラムのコピーに作業することと、数字が一つずれても一つ間違えてもおかしな動作を起こす可能性が在るので(OSを壊すとか、ハードディスクに不正にアクセスするなど)完全に安全な(壊れても良い)環境で行うことがベストだと思います。気をつけて取り組んで下さい。
大変わかりやすい回答ありがとうございました
とても参考になりました
また質問することがあるかもしれませんが
その時はよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 憲法・法令通則 マスクのお話 マスクは今推奨という形です。 「推奨(すいしょう)」は「物事や人物の優れている部分をあ 6 2022/04/25 12:49
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- 訴訟・裁判 発信者情報開示請求の裁判について質問です。 プロバイダは、裁判所から個人情報開示命令が出れば、必ず開 1 2022/09/20 21:30
- アプリ iPhoneです。 TVerのアプリを開いたところ、 アップデートを求められましたが、 「アプリのバ 1 2023/02/09 22:10
- 英語 総称的意味の「the+過去分詞」が無冠詞複数形で置き換えることができない理由について 5 2022/08/04 10:14
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Word(ワード) office365で作成したファイルをWEB版Officeで更新 2 2022/06/05 14:49
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Excel(エクセル) inputboxのウインドウを画面の最上部に表示したい 1 2022/11/28 15:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報