fix x86_64 shellcode
This commit is contained in:
parent
54f61f36ab
commit
1b3eb467a7
@ -471,9 +471,9 @@ func (mc *MachoContext) ReworkForObjc() {
|
|||||||
ins_size_byte := 4
|
ins_size_byte := 4
|
||||||
main_offset := int(mc.entryoff)
|
main_offset := int(mc.entryoff)
|
||||||
var shellcode_offset int
|
var shellcode_offset int
|
||||||
|
|
||||||
if mc.header.cputype == 12{
|
if mc.header.cputype == 12{
|
||||||
shellcode := []uint32{
|
shellcode = []uint32{
|
||||||
0x10000008,
|
0x10000008,
|
||||||
0, // x9 = (offset end of __DATA) - (offset shellcode)
|
0, // x9 = (offset end of __DATA) - (offset shellcode)
|
||||||
0x8B090108,
|
0x8B090108,
|
||||||
@ -514,7 +514,7 @@ func (mc *MachoContext) ReworkForObjc() {
|
|||||||
fmt.Printf("// lc_main_offset=%x\n", lc_main_offset)
|
fmt.Printf("// lc_main_offset=%x\n", lc_main_offset)
|
||||||
} else {
|
} else {
|
||||||
// TODO: fix to work with offset larger than 0xffff
|
// TODO: fix to work with offset larger than 0xffff
|
||||||
shellcode := []uint32{
|
shellcode = []uint32{
|
||||||
0x00058d4c,
|
0x00058d4c,
|
||||||
0x66000000,
|
0x66000000,
|
||||||
0, // offset
|
0, // offset
|
||||||
|
Loading…
Reference in New Issue
Block a user