Skip to content

Commit 110135d

Browse files
author
“onedays12”
committed
v1.1 fix bug
1 parent 062926e commit 110135d

File tree

6 files changed

+15
-13
lines changed

6 files changed

+15
-13
lines changed

Convert2Shellcode/Convert2Shellcode_front.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ unsigned char rdiShellcode64[] = {
3131
0x0C, 0x66, 0x83, 0xFB, 0x0A, 0x75, 0x15, 0x25,
3232
0xFF, 0x0F, 0x00, 0x00, 0x03, 0x02, 0x48, 0x03,
3333
0x45, 0x10, 0x48, 0x8B, 0x18, 0x48, 0x03, 0x1C,
34-
0x24, 0x48, 0x89, 0x18, 0x48, 0x3B, 0xCE, 0x74,
35-
0x06, 0x48, 0x83, 0xC6, 0x02, 0xEB, 0xD2, 0x8B,
34+
0x24, 0x48, 0x89, 0x18, 0x48, 0x83, 0xC6, 0x02,
35+
0x48, 0x3B, 0xCE, 0x74, 0x02, 0xEB, 0xD2, 0x8B,
3636
0x42, 0x04, 0x48, 0x03, 0xD0, 0xEB, 0xBA, 0x5B,
3737
0x48, 0x8B, 0x45, 0x18, 0x8B, 0x80, 0x90, 0x00,
3838
0x00, 0x00, 0x4C, 0x8B, 0x65, 0x10, 0x4C, 0x03,

Convert2Shellcode/Convert2Shellcode_front.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ var rdiShellcode64 = []byte{
3636
0x0C, 0x66, 0x83, 0xFB, 0x0A, 0x75, 0x15, 0x25,
3737
0xFF, 0x0F, 0x00, 0x00, 0x03, 0x02, 0x48, 0x03,
3838
0x45, 0x10, 0x48, 0x8B, 0x18, 0x48, 0x03, 0x1C,
39-
0x24, 0x48, 0x89, 0x18, 0x48, 0x3B, 0xCE, 0x74,
40-
0x06, 0x48, 0x83, 0xC6, 0x02, 0xEB, 0xD2, 0x8B,
39+
0x24, 0x48, 0x89, 0x18, 0x48, 0x83, 0xC6, 0x02,
40+
0x48, 0x3B, 0xCE, 0x74, 0x02, 0xEB, 0xD2, 0x8B,
4141
0x42, 0x04, 0x48, 0x03, 0xD0, 0xEB, 0xBA, 0x5B,
4242
0x48, 0x8B, 0x45, 0x18, 0x8B, 0x80, 0x90, 0x00,
4343
0x00, 0x00, 0x4C, 0x8B, 0x65, 0x10, 0x4C, 0x03,

Convert2Shellcode/Convert2Shellcode_post.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ unsigned char rdiShellcode64[] = {
3434
0x66, 0x83, 0xFB, 0x0A, 0x75, 0x15, 0x25, 0xFF,
3535
0x0F, 0x00, 0x00, 0x03, 0x02, 0x48, 0x03, 0x45,
3636
0x10, 0x48, 0x8B, 0x18, 0x48, 0x03, 0x1C, 0x24,
37-
0x48, 0x89, 0x18, 0x48, 0x3B, 0xCE, 0x74, 0x06,
38-
0x48, 0x83, 0xC6, 0x02, 0xEB, 0xD2, 0x8B, 0x42,
37+
0x48, 0x89, 0x18, 0x48, 0x83, 0xC6, 0x02, 0x48,
38+
0x3B, 0xCE, 0x74, 0x02, 0xEB, 0xD2, 0x8B, 0x42,
3939
0x04, 0x48, 0x03, 0xD0, 0xEB, 0xBA, 0x5B, 0x48,
4040
0x8B, 0x45, 0x18, 0x8B, 0x80, 0x90, 0x00, 0x00,
4141
0x00, 0x4C, 0x8B, 0x65, 0x10, 0x4C, 0x03, 0xE0,
@@ -112,7 +112,8 @@ unsigned char rdiShellcode64[] = {
112112
0x58, 0x41, 0x5C, 0x5E, 0x59, 0x5A, 0x41, 0x58,
113113
0x41, 0x59, 0x41, 0x5A, 0x48, 0x83, 0xEC, 0x20,
114114
0x41, 0x52, 0xFF, 0xE0, 0x58, 0x41, 0x58, 0x5A,
115-
0x48, 0x8B, 0x12, 0xE9, 0x46, 0xFF, 0xFF, 0xFF
115+
0x48, 0x8B, 0x12, 0xE9, 0x46, 0xFF, 0xFF, 0xFF,
116+
0x00
116117
};
117118

118119
// 辅助函数:将32位整数打包为小端字节序

Convert2Shellcode/Convert2Shellcode_post.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ var rdiShellcode64 = []byte{
3939
0x66, 0x83, 0xFB, 0x0A, 0x75, 0x15, 0x25, 0xFF,
4040
0x0F, 0x00, 0x00, 0x03, 0x02, 0x48, 0x03, 0x45,
4141
0x10, 0x48, 0x8B, 0x18, 0x48, 0x03, 0x1C, 0x24,
42-
0x48, 0x89, 0x18, 0x48, 0x3B, 0xCE, 0x74, 0x06,
43-
0x48, 0x83, 0xC6, 0x02, 0xEB, 0xD2, 0x8B, 0x42,
42+
0x48, 0x89, 0x18, 0x48, 0x83, 0xC6, 0x02, 0x48,
43+
0x3B, 0xCE, 0x74, 0x02, 0xEB, 0xD2, 0x8B, 0x42,
4444
0x04, 0x48, 0x03, 0xD0, 0xEB, 0xBA, 0x5B, 0x48,
4545
0x8B, 0x45, 0x18, 0x8B, 0x80, 0x90, 0x00, 0x00,
4646
0x00, 0x4C, 0x8B, 0x65, 0x10, 0x4C, 0x03, 0xE0,
@@ -117,7 +117,8 @@ var rdiShellcode64 = []byte{
117117
0x58, 0x41, 0x5C, 0x5E, 0x59, 0x5A, 0x41, 0x58,
118118
0x41, 0x59, 0x41, 0x5A, 0x48, 0x83, 0xEC, 0x20,
119119
0x41, 0x52, 0xFF, 0xE0, 0x58, 0x41, 0x58, 0x5A,
120-
0x48, 0x8B, 0x12, 0xE9, 0x46, 0xFF, 0xFF, 0xFF}
120+
0x48, 0x8B, 0x12, 0xE9, 0x46, 0xFF, 0xFF, 0xFF,
121+
0x00}
121122

122123
// 辅助函数:将32位整数打包为小端字节序
123124
func pack(val uint32) []byte {

SRDI Asm/RDI_front.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ next_entry:
107107
mov [rax], rbx ; 修正后的值填入原处
108108

109109
get_next_entry:
110+
add rsi, 2 ; 没有到边界,就移动到下一个重定位项,一个重定位项占16位
110111
cmp rcx,rsi ; 判断是否到达了边界值
111112
je get_next_block ; 如果到了边界值就下一个重定位块
112-
add rsi, 2 ; 没有到边界,就移动到下一个重定位项,一个重定位项占16位
113113
jmp next_entry
114114

115115
get_next_block:

SRDI Asm/RDI_post.asm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,10 @@ next_entry:
126126
mov [rax], rbx ; 修正后的值填入原处
127127

128128
get_next_entry:
129+
add rsi, 2 ; 没有到边界,就移动到下一个重定位项,一个重定位项占16位
129130
cmp rcx,rsi ; 判断是否到达了边界值
130131
je get_next_block ; 如果到了边界值就下一个重定位块
131-
add rsi, 2 ; 没有到边界,就移动到下一个重定位项,一个重定位项占16位
132-
jmp next_entry
132+
jmp next_entry
133133

134134
get_next_block:
135135
mov eax, dword ptr [rdx+4] ; 获取当前块大小

0 commit comments

Comments
 (0)