Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
SandHook
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
SandHook
Commits
8c61e806
Commit
8c61e806
authored
May 09, 2019
by
swift_gan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tweak code
parent
44b68896
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
18 deletions
+18
-18
inst_arm64.cpp
nativehook/src/main/cpp/archs/arm64/inst/inst_arm64.cpp
+6
-6
inst_arm64.h
nativehook/src/main/cpp/archs/arm64/inst/inst_arm64.h
+9
-9
inst_struct_aarch64.h
...ehook/src/main/cpp/archs/arm64/inst/inst_struct_aarch64.h
+3
-3
No files found.
nativehook/src/main/cpp/archs/arm64/inst/inst_arm64.cpp
View file @
8c61e806
...
...
@@ -137,7 +137,7 @@ void A64_B_BL::assembler() {
A64_CBZ_CBNZ
::
A64_CBZ_CBNZ
()
{}
A64_CBZ_CBNZ
::
A64_CBZ_CBNZ
(
aarch64_cbz_cbnz
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
A64_CBZ_CBNZ
::
A64_CBZ_CBNZ
(
STRUCT_A64
(
CBZ_CBNZ
)
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
decode
(
inst
);
}
...
...
@@ -151,7 +151,7 @@ ADDR A64_CBZ_CBNZ::getImmPCOffset() {
return
signExtend64
(
19
+
2
,
COMBINE
(
get
()
->
imm19
,
0
b00
,
2
));
}
void
A64_CBZ_CBNZ
::
decode
(
aarch64_cbz_cbnz
*
inst
)
{
void
A64_CBZ_CBNZ
::
decode
(
STRUCT_A64
(
CBZ_CBNZ
)
*
inst
)
{
op
=
OP
(
get
()
->
op
);
if
(
inst
->
sf
==
1
)
{
rt
=
XRegister
::
get
(
static_cast
<
U8
>
(
inst
->
rt
));
...
...
@@ -174,7 +174,7 @@ void A64_CBZ_CBNZ::assembler() {
A64_B_COND
::
A64_B_COND
()
{}
A64_B_COND
::
A64_B_COND
(
aarch64_b_cond
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
A64_B_COND
::
A64_B_COND
(
STRUCT_A64
(
B_COND
)
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
decode
(
inst
);
}
...
...
@@ -186,7 +186,7 @@ ADDR A64_B_COND::getImmPCOffset() {
return
signExtend64
(
19
+
2
,
COMBINE
(
get
()
->
imm19
,
0
b00
,
2
));
}
void
A64_B_COND
::
decode
(
aarch64_b_cond
*
inst
)
{
void
A64_B_COND
::
decode
(
STRUCT_A64
(
B_COND
)
*
inst
)
{
condition
=
Condition
(
inst
->
cond
);
offset
=
getImmPCOffset
();
}
...
...
@@ -202,7 +202,7 @@ void A64_B_COND::assembler() {
A64_TBZ_TBNZ
::
A64_TBZ_TBNZ
()
{}
A64_TBZ_TBNZ
::
A64_TBZ_TBNZ
(
aarch64_tbz_tbnz
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
A64_TBZ_TBNZ
::
A64_TBZ_TBNZ
(
STRUCT_A64
(
TBZ_TBNZ
)
*
inst
)
:
A64_INST_PC_REL
(
inst
)
{
decode
(
inst
);
}
...
...
@@ -217,7 +217,7 @@ ADDR A64_TBZ_TBNZ::getImmPCOffset() {
return
signExtend64
(
14
,
get
()
->
imm14
)
<<
2
;
}
void
A64_TBZ_TBNZ
::
decode
(
aarch64_tbz_tbnz
*
inst
)
{
void
A64_TBZ_TBNZ
::
decode
(
STRUCT_A64
(
TBZ_TBNZ
)
*
inst
)
{
bit
=
COMBINE
(
inst
->
b5
,
inst
->
b40
,
5
);
if
(
inst
->
b5
==
1
)
{
rt
=
XRegister
::
get
(
static_cast
<
U8
>
(
inst
->
rt
));
...
...
nativehook/src/main/cpp/archs/arm64/inst/inst_arm64.h
View file @
8c61e806
...
...
@@ -228,7 +228,7 @@ namespace SandHook {
};
class
INST_A64
(
CBZ_CBNZ
)
:
public
A64_INST_PC_REL
<
aarch64_cbz_cbnz
>
{
class
INST_A64
(
CBZ_CBNZ
)
:
public
A64_INST_PC_REL
<
STRUCT_A64
(
CBZ_CBNZ
)
>
{
public
:
enum
OP
{
...
...
@@ -238,7 +238,7 @@ namespace SandHook {
A64_CBZ_CBNZ
();
A64_CBZ_CBNZ
(
aarch64_cbz_cbnz
*
inst
);
A64_CBZ_CBNZ
(
STRUCT_A64
(
CBZ_CBNZ
)
*
inst
);
A64_CBZ_CBNZ
(
OP
op
,
ADDR
offset
,
RegisterA64
*
rt
);
...
...
@@ -248,7 +248,7 @@ namespace SandHook {
ADDR
getImmPCOffset
()
override
;
void
decode
(
aarch64_cbz_cbnz
*
inst
)
override
;
void
decode
(
STRUCT_A64
(
CBZ_CBNZ
)
*
inst
)
override
;
void
assembler
()
override
;
...
...
@@ -259,11 +259,11 @@ namespace SandHook {
};
class
INST_A64
(
B_COND
)
:
public
A64_INST_PC_REL
<
aarch64_b_cond
>
{
class
INST_A64
(
B_COND
)
:
public
A64_INST_PC_REL
<
STRUCT_A64
(
B_COND
)
>
{
public
:
A64_B_COND
();
A64_B_COND
(
aarch64_b_cond
*
inst
);
A64_B_COND
(
STRUCT_A64
(
B_COND
)
*
inst
);
A64_B_COND
(
Condition
condition
,
ADDR
offset
);
...
...
@@ -273,7 +273,7 @@ namespace SandHook {
ADDR
getImmPCOffset
()
override
;
void
decode
(
aarch64_b_cond
*
inst
)
override
;
void
decode
(
STRUCT_A64
(
B_COND
)
*
inst
)
override
;
void
assembler
()
override
;
...
...
@@ -283,7 +283,7 @@ namespace SandHook {
};
class
INST_A64
(
TBZ_TBNZ
)
:
public
A64_INST_PC_REL
<
aarch64_tbz_tbnz
>
{
class
INST_A64
(
TBZ_TBNZ
)
:
public
A64_INST_PC_REL
<
STRUCT_A64
(
TBZ_TBNZ
)
>
{
public
:
enum
OP
{
...
...
@@ -293,7 +293,7 @@ namespace SandHook {
A64_TBZ_TBNZ
();
A64_TBZ_TBNZ
(
aarch64_tbz_tbnz
*
inst
);
A64_TBZ_TBNZ
(
STRUCT_A64
(
TBZ_TBNZ
)
*
inst
);
A64_TBZ_TBNZ
(
OP
op
,
RegisterA64
*
rt
,
U32
bit
,
ADDR
offset
);
...
...
@@ -303,7 +303,7 @@ namespace SandHook {
ADDR
getImmPCOffset
()
override
;
void
decode
(
aarch64_tbz_tbnz
*
inst
)
override
;
void
decode
(
STRUCT_A64
(
TBZ_TBNZ
)
*
inst
)
override
;
void
assembler
()
override
;
...
...
nativehook/src/main/cpp/archs/arm64/inst/inst_struct_aarch64.h
View file @
8c61e806
...
...
@@ -95,7 +95,7 @@ struct STRUCT_A64(B_BL) {
};
DEFINE_OPCODE
(
CBZ_CBNZ
,
0
b011010
)
struct
aarch64_cbz_cbnz
{
struct
STRUCT_A64
(
CBZ_CBNZ
)
{
InstA64
sf
:
1
;
InstA64
opcode
:
6
;
InstA64
op
:
1
;
...
...
@@ -104,7 +104,7 @@ struct aarch64_cbz_cbnz {
};
DEFINE_OPCODE
(
B_COND
,
0
b01010100
)
struct
aarch64_b_cond
{
struct
STRUCT_A64
(
B_COND
)
{
InstA64
opcode
:
8
;
InstA64
imm19
:
19
;
InstA64
unkown
:
1
;
...
...
@@ -113,7 +113,7 @@ struct aarch64_b_cond {
DEFINE_OPCODE
(
TBZ_TBNZ
,
0
b011011
)
struct
aarch64_tbz_tbnz
{
struct
STRUCT_A64
(
TBZ_TBNZ
)
{
InstA64
b5
:
1
;
InstA64
opcode
:
6
;
InstA64
op
:
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment