diff --git a/androscalpel/src/map_dex_file.rs b/androscalpel/src/map_dex_file.rs
index 9302c53..2473db8 100644
--- a/androscalpel/src/map_dex_file.rs
+++ b/androscalpel/src/map_dex_file.rs
@@ -62,7 +62,7 @@ impl DexFile {
));
}
current_line.push(format!(
- "
{:02x} | ",
+ "{:02x} | ",
classes.join(" "),
raw[i as usize]
));
@@ -80,6 +80,7 @@ impl DexFile {
let table = lines.join("\n");
let mut chunk_style_lines = vec![];
let mut data_lines = vec![];
+ let mut unreferenced_lines = vec![];
for (off, size, dscr) in &self.layout_map {
let classname = format!("chunk_{off}_{size}");
chunk_style_lines.push(format!(
@@ -89,11 +90,27 @@ impl DexFile {
"html:has(.{classname}:hover) .dscr_{classname} {{ display: block; }}"
));
data_lines.push(format!(
- "{dscr}
"
- ))
+ "0x{off:08x}: {dscr}
"
+ ));
+ if dscr == "Unreferenced Data" {
+ unreferenced_lines.push(format!(
+ "offset: 0x{off:08x}, size: 0x{size:x}"
+ ));
+ }
}
let chunk_style = chunk_style_lines.join("\n ");
let data = data_lines.join("\n ");
+ let unreferenced = unreferenced_lines.join("\n ");
+ let unreferenced = if !unreferenced_lines.empty() {
+ format!(
+ "Unreferenced Data:
+ "
+ )
+ } else {
+ "".into()
+ };
format!(
"
@@ -105,6 +122,7 @@ impl DexFile {
+{unreferenced}
diff --git a/androscalpel_serializer/src/file_reader/mod.rs b/androscalpel_serializer/src/file_reader/mod.rs
index db0e55e..fd8f075 100644
--- a/androscalpel_serializer/src/file_reader/mod.rs
+++ b/androscalpel_serializer/src/file_reader/mod.rs
@@ -71,7 +71,7 @@ impl<'a> DexFileReader<'a> {
.expect("Failed to acquire mutex lock on layout_map")
.insert(
(0, tmp_file.header.size()),
- format!("{:x?}", tmp_file.header),
+ format!("{:#x?}", tmp_file.header),
);
if tmp_file.header.map_off != 0 {
tmp_file.map_list = tmp_file.get_struct_at_offset(tmp_file.header.map_off)?;
@@ -433,7 +433,7 @@ impl<'a> DexFileReader<'a> {
.lock()
.expect("Failed to acquire mutex lock on layout_map")
.entry((pos as u32, size))
- .or_insert_with(|| format!("{item:x?}"));
+ .or_insert_with(|| format!("{item:#x?}"));
}
}
Ok(list)
@@ -479,7 +479,7 @@ impl<'a> DexFileReader<'a> {
.lock()
.expect("Failed to acquire mutex lock on layout_map")
.entry((offset, size))
- .or_insert_with(|| format!("{r:x?}"));
+ .or_insert_with(|| format!("{r:#x?}"));
}
r
}