diff --git a/src-tauri/src/app_state.rs b/src-tauri/src/app_state.rs
index 170ab60..bee9d17 100644
--- a/src-tauri/src/app_state.rs
+++ b/src-tauri/src/app_state.rs
@@ -215,7 +215,7 @@ impl AppState {
rw_mmap[new_section_header_offset..new_section_header_offset + 8]
.copy_from_slice(§ion_name_bytes);
// 写入节的VA
- // TODO: 新节的VA应该是最后一个节的VA + section_size对齐后的大小
+ // TODO: 新节的VA应该是最后一个节的VA + 最后一个节的SizeOfRawData对齐后的大小
let last_section_header_offset =
section_table_offset + 40 * (number_of_sections - 1) as usize;
let last_section_va = u32::from_le_bytes(
@@ -223,8 +223,16 @@ impl AppState {
.try_into()
.unwrap(),
);
- // 对齐后的VA, 对齐方式(last_section_va + section_size) 和section_alignment进行对齐
- let aligned_va = (last_section_va + section_size as u32 + section_alignment - 1)
+ let last_sction_size = u32::from_le_bytes(
+ rw_mmap[last_section_header_offset + 16..last_section_header_offset + 20]
+ .try_into()
+ .unwrap(),
+ );
+ let last_section_alignment_size = (last_sction_size + section_alignment - 1)
+ & !(section_alignment - 1);
+
+ // 对齐后的VA, 对齐方式(last_section_va ) 和section_alignment进行对齐
+ let aligned_va = ((last_section_va + last_section_alignment_size) + section_alignment - 1)
& !(section_alignment - 1);
rw_mmap[new_section_header_offset + 12..new_section_header_offset + 16]
diff --git a/src/components/FileHeader/FileHeader.tsx b/src/components/FileHeader/FileHeader.tsx
index 7396c8b..18f1642 100644
--- a/src/components/FileHeader/FileHeader.tsx
+++ b/src/components/FileHeader/FileHeader.tsx
@@ -260,7 +260,7 @@ export default function FileHeader() {
return (
);
diff --git a/src/components/NTHeader/NTHeader.tsx b/src/components/NTHeader/NTHeader.tsx
index e7b4f32..849f6b1 100644
--- a/src/components/NTHeader/NTHeader.tsx
+++ b/src/components/NTHeader/NTHeader.tsx
@@ -57,7 +57,7 @@ export default function NTHeader() {
return (
diff --git a/src/components/OptionalHeader/OptionalHeader.tsx b/src/components/OptionalHeader/OptionalHeader.tsx
index 5da07e1..8de07a9 100644
--- a/src/components/OptionalHeader/OptionalHeader.tsx
+++ b/src/components/OptionalHeader/OptionalHeader.tsx
@@ -530,7 +530,7 @@ export default function OptionalHeader() {
return (
);