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
bd2c91b1
Commit
bd2c91b1
authored
Jan 30, 2019
by
swift_gan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add hookmode sample
parent
d1c1b69e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
11 additions
and
1 deletion
+11
-1
CtrHook.java
...src/main/java/com/swift/sandhook/testHookers/CtrHook.java
+2
-0
JniHooker.java
...c/main/java/com/swift/sandhook/testHookers/JniHooker.java
+2
-0
LogHooker.java
...c/main/java/com/swift/sandhook/testHookers/LogHooker.java
+2
-0
ObjectHooker.java
...ain/java/com/swift/sandhook/testHookers/ObjectHooker.java
+2
-0
HookWrapper.java
...src/main/java/com/swift/sandhook/wrapper/HookWrapper.java
+3
-1
No files found.
app/src/main/java/com/swift/sandhook/testHookers/CtrHook.java
View file @
bd2c91b1
...
...
@@ -2,6 +2,7 @@ package com.swift.sandhook.testHookers;
import
android.util.Log
;
import
com.swift.sandhook.annotation.HookMode
;
import
com.swift.sandhook.test.TestClass
;
import
com.swift.sandhook.annotation.HookClass
;
import
com.swift.sandhook.annotation.HookMethod
;
...
...
@@ -25,6 +26,7 @@ public class CtrHook {
}
@HookMethod
(
"add1"
)
@HookMode
(
HookMode
.
INLINE
)
public
static
void
onAdd1
(
TestClass
thiz
)
{
Log
.
e
(
"TestClassHook"
,
"add1 been hooked"
);
try
{
...
...
app/src/main/java/com/swift/sandhook/testHookers/JniHooker.java
View file @
bd2c91b1
...
...
@@ -2,6 +2,7 @@ package com.swift.sandhook.testHookers;
import
android.util.Log
;
import
com.swift.sandhook.annotation.HookMode
;
import
com.swift.sandhook.test.TestClass
;
import
com.swift.sandhook.annotation.HookClass
;
import
com.swift.sandhook.annotation.HookMethod
;
...
...
@@ -11,6 +12,7 @@ import com.swift.sandhook.annotation.HookMethodBackup;
public
class
JniHooker
{
@HookMethod
(
"jni_test"
)
@HookMode
(
HookMode
.
INLINE
)
public
static
int
onJni
(
TestClass
thiz
)
{
Log
.
e
(
"JniHooker"
,
"hooked success "
);
return
onJniBackup
(
thiz
);
...
...
app/src/main/java/com/swift/sandhook/testHookers/LogHooker.java
View file @
bd2c91b1
...
...
@@ -5,6 +5,7 @@ import android.util.Log;
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.annotation.MethodParams
;
@HookClass
(
Log
.
class
)
...
...
@@ -12,6 +13,7 @@ public class LogHooker {
@HookMethod
(
"w"
)
@MethodParams
({
String
.
class
,
String
.
class
})
@HookMode
(
HookMode
.
INLINE
)
public
static
int
onCreate
(
String
tag
,
String
msg
)
{
Log
.
e
(
"LogHooker"
,
"hooked success "
+
tag
);
return
onCreateBackup
(
tag
,
msg
);
...
...
app/src/main/java/com/swift/sandhook/testHookers/ObjectHooker.java
View file @
bd2c91b1
...
...
@@ -5,11 +5,13 @@ import android.util.Log;
import
com.swift.sandhook.annotation.HookClass
;
import
com.swift.sandhook.annotation.HookMethod
;
import
com.swift.sandhook.annotation.HookMethodBackup
;
import
com.swift.sandhook.annotation.HookMode
;
@HookClass
(
Object
.
class
)
public
class
ObjectHooker
{
@HookMethod
(
"toString"
)
@HookMode
(
HookMode
.
INLINE
)
public
static
String
toStr
(
Object
thiz
)
{
Log
.
e
(
"ObjectHooker"
,
"hooked success "
);
return
toStrBackup
(
thiz
);
...
...
hooklib/src/main/java/com/swift/sandhook/wrapper/HookWrapper.java
View file @
bd2c91b1
...
...
@@ -41,7 +41,9 @@ public class HookWrapper {
fillBackupMethod
(
classLoader
,
clazz
,
hookEntityMap
);
for
(
HookEntity
entity:
hookEntityMap
.
values
())
{
if
(
entity
.
target
!=
null
&&
entity
.
hook
!=
null
)
{
SandHook
.
hook
(
entity
.
target
,
entity
.
hook
,
entity
.
backup
);
if
(!
SandHook
.
hook
(
entity
.
target
,
entity
.
hook
,
entity
.
backup
))
{
throw
new
HookErrorException
(
"hook method <"
+
entity
.
target
.
getName
()
+
"> error in native!"
);
}
globalHookEntityMap
.
put
(
entity
.
target
,
entity
);
}
}
...
...
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