質問するログイン新規登録
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

417閲覧

ghidra.batを開けない

tazutaka

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2024/08/09 05:04

0

0

実現したいこと

githubからインストールしたghidra.batを開きたい java --versionでは
java 22.0.2 2024-07-16
Java(TM) SE Runtime Environment (build 22.0.2+9-70)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)となる。

発生している問題・分からないこと

ghidra.batをwindowsのコマンドプロンプトで開こうとしたが、以下のようなエラーが表示される。

エラーメッセージ

error

1Microsoft Windows [Version 10.0.22000.2416] 2(c) Microsoft Corporation. All rights reserved. 3 4C:\Users\tazu0>C:\Users\tazu0\OneDrive\デスクトップ\ghidra_11.1.2_PUBLIC_20240709\ghidra_11.1.2_PUBLIC\ghidraRun.bat 5'java -cp "C:\Users\tazu0\OneDrive\デスクトップ\ghidra_11.1.2_PUBLIC_20240709\ghidra_11.1.2_PUBLIC\support\LaunchSupport.jar" LaunchSupport "C:\Users\tazu0\OneDrive\デスクトップ\ghidra_11.1.2_PUBLIC_20240709\ghidra_11.1.2_PUBLIC\support\.." -jdk_home -save' は、内部コマンドまたは外部コマンド、 6操作可能なプログラムまたはバッチ ファイルとして認識されていません。 7****************************************************************** 8JDK 17+ (64-bit) could not be found and must be manually chosen! 9****************************************************************** 10Enter path to JDK home directory (ENTER for dialog): 11 12 13 14

該当のソースコード

ghidraRun.bat

1#!/usr/bin/env bash 2 3#---------------------------------------- 4# Ghidra launch 5#---------------------------------------- 6 7# Maximum heap memory may be changed if default is inadequate. This will generally be up to 1/4 of 8# the physical memory available to the OS. Uncomment MAXMEM setting if non-default value is needed. 9#MAXMEM=2G 10 11# Resolve symbolic link if present and get the directory this script lives in. 12# NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD 13# contains the link you are calling (which is the best we can do on macOS), and the "echo" is the 14# fallback, which doesn't attempt to do anything with links. 15SCRIPT_FILE="$(readlink -f "$0" 2>/dev/null || readlink "$0" 2>/dev/null || echo "$0")" 16SCRIPT_DIR="${SCRIPT_FILE%/*}" 17 18# Launch Ghidra 19"${SCRIPT_DIR}"/support/launch.sh bg jdk Ghidra "${MAXMEM}" "" ghidra.GhidraRun "$@" 20

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

分からなかった。まったく。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

手元に環境がないので外しているかもしれませんが、OneDrive配下で実行していることが原因かもしれません。OneDriveの場合、設定によってはファイルがローカルにないため、バッチを実行してもこのようなエラーになる可能性がありそうです。
C:\Users\tazu0\OneDrive\以外の場所(OneDriveではない場所)にファイル一式を移動して、そちらで試すのはどうでしょうか。

投稿2024/08/11 00:35

segavvy

総合スコア1038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2024/08/11 00:51

OneDriveに質問者さんと(ユーザー名以外は)同じパスを作って実際に試したところ、正常に起動できました。 確かにファイルがローカルにあるかどうかは意識してなかったけど、デフォルトはどちらなんでしょう? そんな設定ある?
segavvy

2024/08/11 00:58

Windowsが手元にないので(Macユーザなもので)細かい設定はわからないのですが、ディスク容量を節約する設定にするとローカルにファイルが作られず、必要な時だけクラウドから持ってくる形になります。 以下、本家サポートのページですが、デフォルトがどっちなのかはわからないです。 https://support.microsoft.com/ja-jp/office/windows-%E7%94%A8-onedrive-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB-%E3%82%AA%E3%83%B3%E3%83%87%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E9%A0%98%E5%9F%9F%E3%82%92%E7%AF%80%E7%B4%84%E3%81%99%E3%82%8B-0e6860d3-d9f3-4971-b321-7092438fb38e
hiroki-o

2024/08/11 01:13

情報ありがとうございます。 確認したところ、初めて開いたときにダウンロードするか、いつもローカルにもコピーするかの2択で、デフォルトは前者ですね。 私の環境では、前者で正常起動できています。
segavvy

2024/08/11 01:22

ということは、どうやら違う原因のようですね。 ごめんなさい、メッセージ通りJDKのパスを入力すれば先に進むのかもしれません。
tazutaka

2024/08/11 03:15

回答ありがとうございます。 -jdk_home -save' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。がなぜ出るのかがわかりません。調べても同じ事例がありませんでした。
segavvy

2024/08/11 03:59

問題切り分けのため、まずは先に回答したようにOneDrive以外の場所に一式置いて試してみるのが良いかと思います。 また、「JDK 17+ (64-bit) could not be found and must be manually chosen!」のメッセージはJDKの場所がわかっていないことを示すメッセージなので「windowsでJDKのホームディレクトリはどこ」などでネット検索してみてください。
tazutaka

2024/08/11 05:05

OneDrive以外の場所に一式置いて試してみましたがだめでした。また、Enter path to JDK home directory (ENTER for dialog):の所にjdkのpathを入力したりもしましたがダメでした。
segavvy

2024/08/11 06:06 編集

お役に立てずすみません。手元に環境がないので、私ではこれ以上は難しそうです。 なお、追加でちょっとググってみましたが、こちらの方と症状が同じようです。Javaの入れ直しやPATHの削除?で解消されたようです。もし参考になりましたら。 https://github.com/NationalSecurityAgency/ghidra/issues/4250
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問