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
a4fc9bec
Commit
a4fc9bec
authored
Feb 19, 2019
by
swift_gan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
revert to call backup method direct, because callOriginMethod dose not deal
parent
a87c367a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
4 deletions
+4
-4
HookerDexMaker.java
...swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java
+4
-4
No files found.
xposedcompat/src/main/java/com/swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java
View file @
a4fc9bec
...
@@ -590,12 +590,12 @@ public class HookerDexMaker {
...
@@ -590,12 +590,12 @@ public class HookerDexMaker {
}
}
// get pre-created Local with a matching typeId
// get pre-created Local with a matching typeId
if
(
mReturnTypeId
.
equals
(
TypeId
.
VOID
))
{
if
(
mReturnTypeId
.
equals
(
TypeId
.
VOID
))
{
code
.
invokeStatic
(
m
Call
BackupMethodId
,
null
,
allArgsLocals
);
code
.
invokeStatic
(
mBackupMethodId
,
null
,
allArgsLocals
);
// TODO maybe keep preset result to do some magic?
// TODO maybe keep preset result to do some magic?
code
.
invokeVirtual
(
setResultMethodId
,
null
,
param
,
nullObj
);
code
.
invokeVirtual
(
setResultMethodId
,
null
,
param
,
nullObj
);
}
else
{
}
else
{
Local
returnedResult
=
resultLocals
.
get
(
mReturnTypeId
);
Local
returnedResult
=
resultLocals
.
get
(
mReturnTypeId
);
code
.
invokeStatic
(
m
Call
BackupMethodId
,
returnedResult
,
allArgsLocals
);
code
.
invokeStatic
(
mBackupMethodId
,
returnedResult
,
allArgsLocals
);
// save returnedResult to resultObj as a Object
// save returnedResult to resultObj as a Object
autoBoxIfNecessary
(
code
,
resultObj
,
returnedResult
);
autoBoxIfNecessary
(
code
,
resultObj
,
returnedResult
);
// save resultObj to param
// save resultObj to param
...
@@ -676,11 +676,11 @@ public class HookerDexMaker {
...
@@ -676,11 +676,11 @@ public class HookerDexMaker {
// call backup and return
// call backup and return
code
.
mark
(
noHookReturn
);
code
.
mark
(
noHookReturn
);
if
(
mReturnTypeId
.
equals
(
TypeId
.
VOID
))
{
if
(
mReturnTypeId
.
equals
(
TypeId
.
VOID
))
{
code
.
invokeStatic
(
m
Call
BackupMethodId
,
null
,
allArgsLocals
);
code
.
invokeStatic
(
mBackupMethodId
,
null
,
allArgsLocals
);
code
.
returnVoid
();
code
.
returnVoid
();
}
else
{
}
else
{
Local
result
=
resultLocals
.
get
(
mReturnTypeId
);
Local
result
=
resultLocals
.
get
(
mReturnTypeId
);
code
.
invokeStatic
(
m
Call
BackupMethodId
,
result
,
allArgsLocals
);
code
.
invokeStatic
(
mBackupMethodId
,
result
,
allArgsLocals
);
code
.
returnValue
(
result
);
code
.
returnValue
(
result
);
}
}
}
}
...
...
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