Skip to content
Snippets Groups Projects
Commit 3dbf65c6 authored by apriestman's avatar apriestman
Browse files

Added MD5 jni method

parent cd5540dd
No related branches found
No related tags found
No related merge requests found
...@@ -1277,6 +1277,30 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_getSectorSizeForImageNat(JNIEnv * env, ...@@ -1277,6 +1277,30 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_getSectorSizeForImageNat(JNIEnv * env,
return img_info->sector_size; return img_info->sector_size;
} }
/*
* Get the md5 hash of an image.
*/
JNIEXPORT jstring JNICALL
Java_org_sleuthkit_datamodel_SleuthkitJNI_getMD5HashForImageNat(JNIEnv * env,
jclass obj, jlong a_img_info) {
TSK_IMG_INFO *img_info = castImgInfo(env, a_img_info);
if (img_info == 0) {
//exception already set
return 0;
}
// env->NewStringUTF(img_ptrs[i])
#if HAVE_LIBEWF
if (m_img_info->itype == TSK_IMG_TYPE_EWF_EWF) {
IMG_EWF_INFO *ewf_info = (IMG_EWF_INFO *)m_img_info;
if (ewf_info->md5hash_isset) {
return env->NewStringUTF(ewf_info->md5hash);
}
}
#endif
return env->NewStringUTF("");
}
/* /*
* Open the volume system at the given offset * Open the volume system at the given offset
......
...@@ -359,6 +359,14 @@ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_getTypeForImag ...@@ -359,6 +359,14 @@ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_getTypeForImag
JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_getSectorSizeForImageNat JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_getSectorSizeForImageNat
(JNIEnv *, jclass, jlong); (JNIEnv *, jclass, jlong);
/*
* Class: org_sleuthkit_datamodel_SleuthkitJNI
* Method: getMD5HashForImageNat
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_getMD5HashForImageNat
(JNIEnv *, jclass, jlong);
/* /*
* Class: org_sleuthkit_datamodel_SleuthkitJNI * Class: org_sleuthkit_datamodel_SleuthkitJNI
* Method: closeImgNat * Method: closeImgNat
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.apache.commons.lang3.StringUtils;
import org.sleuthkit.datamodel.TskData.TSK_FS_ATTR_TYPE_ENUM; import org.sleuthkit.datamodel.TskData.TSK_FS_ATTR_TYPE_ENUM;
import org.sleuthkit.datamodel.SleuthkitCase.CaseDbTransaction; import org.sleuthkit.datamodel.SleuthkitCase.CaseDbTransaction;
...@@ -887,6 +888,9 @@ public static Image addImageToDatabase(SleuthkitCase skCase, String imagePath, i ...@@ -887,6 +888,9 @@ public static Image addImageToDatabase(SleuthkitCase skCase, String imagePath, i
long size = getSizeForImageNat(imageHandle); long size = getSizeForImageNat(imageHandle);
long type = getTypeForImageNat(imageHandle); long type = getTypeForImageNat(imageHandle);
long computedSectorSize = getSectorSizeForImageNat(imageHandle); long computedSectorSize = getSectorSizeForImageNat(imageHandle);
if (StringUtils.isEmpty(md5)) {
md5 = getMD5HashForImageNat(imageHandle);
}
// Now save to database // Now save to database
CaseDbTransaction transaction = skCase.beginTransaction(); CaseDbTransaction transaction = skCase.beginTransaction();
...@@ -906,6 +910,8 @@ public static Image addImageToDatabase(SleuthkitCase skCase, String imagePath, i ...@@ -906,6 +910,8 @@ public static Image addImageToDatabase(SleuthkitCase skCase, String imagePath, i
throw(ex); throw(ex);
} }
} }
/** /**
* Get volume system Handle * Get volume system Handle
...@@ -2063,6 +2069,8 @@ public static long openFile(long fsHandle, long fileId, TSK_FS_ATTR_TYPE_ENUM at ...@@ -2063,6 +2069,8 @@ public static long openFile(long fsHandle, long fileId, TSK_FS_ATTR_TYPE_ENUM at
private static native long getTypeForImageNat(long imgHandle); private static native long getTypeForImageNat(long imgHandle);
private static native long getSectorSizeForImageNat(long imgHandle); private static native long getSectorSizeForImageNat(long imgHandle);
private static native String getMD5HashForImageNat(long imgHandle);
private static native void closeImgNat(long imgHandle); private static native void closeImgNat(long imgHandle);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment