Fixed tools unable to restore Listing location information; fixed

warning getting printed to console for non-Java binaries
This commit is contained in:
dragonmacher 2019-07-15 17:24:51 -04:00
parent 2398f8f6bf
commit 83d85daabc
6 changed files with 20 additions and 29 deletions

View file

@ -30,14 +30,17 @@ public class JavaClassUtil {
public final static boolean isClassFile(Program program) {
AddressFactory factory = program.getAddressFactory();
byte[] bytes = new byte[4];
try {
Address address = program.getAddressFactory().getAddressSpace(
JavaLoader.CONSTANT_POOL).getMinAddress();
program.getMemory().getBytes(address, bytes);
AddressSpace space = factory.getAddressSpace(JavaLoader.CONSTANT_POOL);
if (space != null) {
Address address = space.getMinAddress();
program.getMemory().getBytes(address, bytes);
}
}
catch (Exception e) {
Msg.info(JavaClassUtil.class, e.getLocalizedMessage());
Msg.error(JavaClassUtil.class, "Exception reading program bytes: " + e.getMessage(), e);
return false;
}
return Arrays.equals(bytes, JavaClassConstants.MAGIC_BYTES);