Skip to content

Commit

Permalink
Added following new features:
Browse files Browse the repository at this point in the history
Hooks for functions in dynamically loaded dex/jar files;
Options for generating mini scripts;
ClassLoader Enum option.
  • Loading branch information
H4oK3 committed Jan 12, 2020
1 parent d559811 commit 88a8e70
Show file tree
Hide file tree
Showing 21 changed files with 950 additions and 606 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ cache/
config/
*.bak
*.bak.js
*.dev
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,11 @@ By default, House binds to http://127.0.0.1:8000.
To get an overview of House capabilities, you can visit [user's manual](https://github.com/nccgroup/house/wiki/Overview) for details.

## News
- House now runs on **python3**, as python2 will retire in 2019.
- Added Monitor tab, inspired by [Inspeckage](https://github.com/ac-pm/Inspeckage).
- Added dynamic dex/jar hooking, House now can hook functions in dynamically loaded dex/jar files
![hook.gif](./gifs/dyload.gif)
- Added Mini Script option for Hooks
![hook.gif](./gifs/dyload_mini.gif)
- ClassLoader Enum


## Example Usage
Expand Down Expand Up @@ -89,6 +92,12 @@ following command: `frida-ps -U`.
- *Scripts rendering and Function Tracing*
![hook.gif](./gifs/hook.gif)

- *Hooks for functions in dynamically loaded dex/jar files*
![hook.gif](./gifs/dyload.gif)

- *Mini Script option*
![hook.gif](./gifs/dyload_mini.gif)

- *History Scripts management*
![hook_history_script.gif](./gifs/hook_history_script.gif)

Expand Down
1 change: 0 additions & 1 deletion app.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ def hook():
class_name = str(request.form.get('classname'))
method_name = str(request.form.get('methodname'))
if (method_name != 'None') & (class_name != 'None'):
# TODO: use jinja to render script dynamically
hook_dict = {"classname": class_name, "methodname": method_name}
house_global.hooks_list.append(hook_dict)
update_conf()
Expand Down
Binary file added gifs/dyload.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added gifs/dyload_mini.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion houseStatic.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
# SOFTWARE.

import colored
from enum import Enum
from colored import stylize

import frida
Expand All @@ -40,4 +41,9 @@

linebreak = "h0us3l1nebr3ak"
codeblock = "h0us3bl0ck"
delimiter = "h4oar3ud0ing"
delimiter = "h4oar3ud0ing"

class dynamicHookOption(Enum):
only_new = "new"
only_existing = "existing"
both = "all"
Loading

0 comments on commit 88a8e70

Please sign in to comment.