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
9586a356
Commit
9586a356
authored
Jan 29, 2019
by
swift_gan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 32bit on android p temp
parent
aef899be
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
5 deletions
+7
-5
sandhook.cpp
hooklib/src/main/cpp/sandhook.cpp
+7
-5
No files found.
hooklib/src/main/cpp/sandhook.cpp
View file @
9586a356
...
...
@@ -79,12 +79,12 @@ bool doHookWithReplacement(art::mirror::ArtMethod *originMethod,
disableCompilable
(
originMethod
);
disableCompilable
(
hookMethod
);
}
if
(
SDK_INT
>=
ANDROID_O
)
{
disableInterpreterForO
(
originMethod
);
}
if
(
backupMethod
!=
nullptr
)
{
memcpy
(
backupMethod
,
originMethod
,
SandHook
::
CastArtMethod
::
size
);
}
if
(
SDK_INT
>=
ANDROID_O
)
{
disableInterpreterForO
(
originMethod
);
}
SandHook
::
HookTrampoline
*
hookTrampoline
=
trampolineManager
.
installReplacementTrampoline
(
originMethod
,
hookMethod
,
backupMethod
);
if
(
hookTrampoline
!=
nullptr
)
{
SandHook
::
CastArtMethod
::
entryPointQuickCompiled
->
set
(
originMethod
,
hookTrampoline
->
replacement
->
getCode
());
...
...
@@ -160,12 +160,14 @@ Java_com_swift_sandhook_SandHook_hookMethod(JNIEnv *env, jclass type, jobject or
bool
isInterpreter
=
SandHook
::
CastArtMethod
::
entryPointQuickCompiled
->
get
(
origin
)
==
SandHook
::
CastArtMethod
::
quickToInterpreterBridge
;
bool
idJNi
=
SandHook
::
CastArtMethod
::
entryPointQuickCompiled
->
get
(
origin
)
==
SandHook
::
CastArtMethod
::
genericJniStub
;
// #if defined(__arm__)
// doHookWithReplacement(origin, hook, backup);
// return JNI_TRUE;
// #endif
if
(
isAbsMethod
(
origin
))
{
if
(
BYTE_POINT
==
4
&&
SDK_INT
>=
ANDROID_P
)
{
return
static_cast
<
jboolean
>
(
doHookWithReplacement
(
origin
,
hook
,
backup
));
}
else
if
(
isAbsMethod
(
origin
))
{
return
static_cast
<
jboolean
>
(
doHookWithReplacement
(
origin
,
hook
,
backup
));
}
else
if
(
isInterpreter
)
{
if
(
SDK_INT
>=
ANDROID_N
)
{
...
...
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