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
8fcf4c03
Commit
8fcf4c03
authored
Jun 10, 2019
by
swift_gan
Committed by
ganyao114
Jun 10, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[AndroidQ]fix for latest Q
parent
6595df95
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
12 deletions
+15
-12
ObjectHooker.java
...ain/java/com/swift/sandhook/testHookers/ObjectHooker.java
+6
-7
hide_api.cpp
hooklib/src/main/cpp/utils/hide_api.cpp
+9
-5
No files found.
app/src/main/java/com/swift/sandhook/testHookers/ObjectHooker.java
View file @
8fcf4c03
...
...
@@ -6,20 +6,19 @@ import com.swift.sandhook.annotation.HookClass;
import
com.swift.sandhook.annotation.HookMethod
;
import
com.swift.sandhook.annotation.HookMethodBackup
;
import
com.swift.sandhook.annotation.HookMode
;
import
com.swift.sandhook.wrapper.HookWrapper
;
@HookClass
(
Object
.
class
)
public
class
ObjectHooker
{
@HookMethodBackup
(
"toString"
)
static
HookWrapper
.
HookEntity
toStrHook
;
@HookMethod
(
"toString"
)
@HookMode
(
HookMode
.
INLINE
)
public
static
String
toStr
(
Object
thiz
)
{
public
static
String
toStr
(
Object
thiz
)
throws
Throwable
{
Log
.
e
(
"ObjectHooker"
,
"hooked success "
);
return
toStrBackup
(
thiz
);
}
@HookMethodBackup
(
"toString"
)
public
static
String
toStrBackup
(
Object
thiz
)
{
return
toStrBackup
(
thiz
);
return
(
String
)
toStrHook
.
callOrigin
(
thiz
);
}
}
hooklib/src/main/cpp/utils/hide_api.cpp
View file @
8fcf4c03
...
...
@@ -48,6 +48,7 @@ extern "C" {
//init compile
if
(
SDK_INT
>=
ANDROID_N
)
{
globalJitCompileHandlerAddr
=
reinterpret_cast
<
art
::
jit
::
JitCompiler
**>
(
getSymCompat
(
art_lib_path
,
"_ZN3art3jit3Jit20jit_compiler_handle_E"
));
if
(
SDK_INT
>=
ANDROID_Q
)
{
jitCompileMethodQ
=
reinterpret_cast
<
bool
(
*
)(
void
*
,
void
*
,
void
*
,
bool
,
bool
)
>
(
getSymCompat
(
jit_lib_path
,
"jit_compile_method"
));
...
...
@@ -58,7 +59,12 @@ extern "C" {
}
jitLoad
=
reinterpret_cast
<
void
*
(
*
)(
bool
*
)
>
(
getSymCompat
(
jit_lib_path
,
"jit_load"
));
bool
generate_debug_info
=
false
;
jitCompilerHandle
=
(
jitLoad
)(
&
generate_debug_info
);
if
(
jitLoad
!=
nullptr
)
{
jitCompilerHandle
=
(
jitLoad
)(
&
generate_debug_info
);
}
else
{
jitCompilerHandle
=
getGlobalJitCompiler
();
}
if
(
jitCompilerHandle
!=
nullptr
)
{
art
::
CompilerOptions
*
compilerOptions
=
getCompilerOptions
(
...
...
@@ -91,10 +97,6 @@ extern "C" {
addWeakGlobalRef
=
reinterpret_cast
<
jobject
(
*
)(
JavaVM
*
,
void
*
,
void
*
)
>
(
getSymCompat
(
art_lib_path
,
add_weak_ref_sym
));
if
(
SDK_INT
>=
ANDROID_N
)
{
globalJitCompileHandlerAddr
=
reinterpret_cast
<
art
::
jit
::
JitCompiler
**>
(
getSymCompat
(
art_lib_path
,
"_ZN3art3jit3Jit20jit_compiler_handle_E"
));
}
if
(
SDK_INT
>=
ANDROID_Q
)
{
origin_jit_update_options
=
reinterpret_cast
<
void
(
**
)(
void
*
)
>
(
getSymCompat
(
art_lib_path
,
"_ZN3art3jit3Jit20jit_update_options_E"
));
}
...
...
@@ -117,6 +119,8 @@ extern "C" {
}
bool
compileMethod
(
void
*
artMethod
,
void
*
thread
)
{
if
(
jitCompilerHandle
==
nullptr
)
return
false
;
if
(
!
canCompile
())
return
false
;
if
(
SDK_INT
>=
ANDROID_Q
)
{
if
(
jitCompileMethodQ
==
nullptr
)
{
...
...
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