hooker | opensource project for dynamic analyses | Reverse Engineering library

 by   AndroidHooker Python Version: Current License: GPL-3.0

kandi X-RAY | hooker Summary

kandi X-RAY | hooker Summary

hooker is a Python library typically used in Utilities, Reverse Engineering applications. hooker has a Strong Copyleft License and it has low support. However hooker has 15 bugs, it has 3 vulnerabilities and it build file is not available. You can download it from GitHub.

Hooker is an opensource project for dynamic analyses of Android applications. This project provides various tools and applications that can be use to automatically intercept and modify any API calls made by a targeted application. It leverages Android Substrate framework to intercept these calls and aggregate all their contextual information (parameters, returned values, …​). Collected information can either be stored in a ElasticSearch or in JSON files. A set of python scripts is also provided to automatize the execution of an analysis to collect any API calls made by a set of applications.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              hooker has a low active ecosystem.
              It has 385 star(s) with 115 fork(s). There are 43 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 5 open issues and 15 have been closed. On average issues are closed in 140 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of hooker is current.

            kandi-Quality Quality

              OutlinedDot
              hooker has 15 bugs (3 blocker, 1 critical, 6 major, 5 minor) and 1257 code smells.

            kandi-Security Security

              hooker has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              hooker code analysis shows 3 unresolved vulnerabilities (0 blocker, 2 critical, 1 major, 0 minor).
              There are 23 security hotspots that need review.

            kandi-License License

              hooker is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              hooker releases are not available. You will need to build from source code and install.
              hooker has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions, examples and code snippets are available.
              hooker saves you 3940 person hours of effort in developing the same functionality from scratch.
              It has 8387 lines of code, 619 functions and 120 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed hooker and discovered the below as its top functions. This is intended to give you an instant insight into hooker implemented functionality, and help decide if they suit your requirements.
            • Start the analysis
            • Write the report configuration to an emulator
            • Start the server
            • Generate an IDX file from apk files
            • Generate an IDXP
            • Simulate data connection change
            • Simulate 2G to 3G
            • Simulate the emulator
            • Start the device
            • Checks if the device is recognized
            • Updates the APK
            • Compute sha1 hash of a file
            • Create a temporary folder
            • Creates a directory
            • Download APK
            • Register an APK
            • Starts the emulator
            • Get answer from server
            • Send sensor acceleration
            • Create a directory
            • Reboot the device
            • Simulate a phone conversation
            • Start the client
            • Send SMS to emulator
            • Sets GPS location to
            • Create a report
            • Parse the next APKID
            Get all kandi verified functions for this library.

            hooker Key Features

            No Key Features are available at this moment for hooker.

            hooker Examples and Code Snippets

            No Code Snippets are available at this moment for hooker.

            Community Discussions

            QUESTION

            How do I apply the same change across dynamic widgets in python tkinter?
            Asked 2021-Mar-12 at 06:26

            I have the following code to create dynamic checkboxes depending on how many rugby players from a certain position have been saved in a database:

            ...

            ANSWER

            Answered 2021-Mar-12 at 06:26

            You need to use a dictionary to store those Checkbutton widgets group by position, then you can easily enable/disable what you want:

            Source https://stackoverflow.com/questions/66581510

            QUESTION

            Wordpress: change user rol based in wp_usermeta value?
            Asked 2020-Oct-01 at 12:23

            I need to change the user rol when a user visit any page of my site based in the value of data in database.

            In my DB in the wp_usermeta has this row:

            The meta_value can take the values 1 and 0.

            Then, I need to add a hook to be fired when any page of the site is loaded to run a code which will change the user role to "myCustomRole" when the 'meta_value' of 'meta_key' is '1'. Something like:

            ...

            ANSWER

            Answered 2020-Oct-01 at 11:37

            init hook is better to update user role.

            Source https://stackoverflow.com/questions/64153683

            QUESTION

            ModuleNotFoundError: No module named on importlib import_module
            Asked 2020-Jun-12 at 16:33

            I am trying to create a module hooker, that corrects module name while importing a module, here is the small prototype:

            ...

            ANSWER

            Answered 2020-Jun-12 at 16:33

            It is all about meta_path.clear(), just remove it.

            By using the clear function, you are clearing meta_path from the builtin modules, so even the builtin module random couldn't be loaded.

            Edit:

            As discussed through comments, you can provide a misspelling error message instead of accepting loading the misspelled module. This can be done by updating your Hook class to:

            Source https://stackoverflow.com/questions/62347330

            QUESTION

            trying to add a time slider in R leaflet
            Asked 2019-Nov-28 at 21:26

            I'm trying to do an analysis of breweries in CT. What I want to do is make a map of the breweries and add a slider that causes the icon for each brewery to appear on the map based on the year it opened. I would also like to add a counter on the map that shows the total number of breweries as you move the year slider. I'm using the Leaflet package in R to make the map

            Here's a portion of the data:

            ...

            ANSWER

            Answered 2019-Nov-28 at 21:26

            In case you were interested in a shiny solution:

            Source https://stackoverflow.com/questions/59092003

            QUESTION

            Printing data from multiple json file into single html table by validating the condition
            Asked 2019-Oct-17 at 19:20

            As I am new to JS and JSON, I am having tough time to find a proper solution that works for me. I have two different json files. First one : players.json with following data:

            ...

            ANSWER

            Answered 2019-Oct-17 at 19:20

            sorry couldn't see your image as it was blocked but.

            can you just do a nested loop? (probably a fancier way with reduce but this seems to work)

            loop through the players and add in their stats with the filter function.

            then filter out players that do not have stats again with filter function.

            then do a nested loop to create the table.

            run code snippet below

            Source https://stackoverflow.com/questions/58438658

            QUESTION

            How to update multiple rows with select statement referencing same table
            Asked 2019-Aug-28 at 02:08

            I have a table, Salesperson, and the current name column shows the following:

            ...

            ANSWER

            Answered 2019-Jun-28 at 19:30

            QUESTION

            Separate fullname into first and last, and remove 'junk'
            Asked 2019-Jun-20 at 19:52

            Wasn't sure of the best way to word this. So I have a column with names, as below:

            ...

            ANSWER

            Answered 2019-Jun-20 at 19:06

            If you just want to remove the last word (username) you can use a query like this

            Source https://stackoverflow.com/questions/56692289

            QUESTION

            Align 3 images and 3 text lists horizontally w/ responsive
            Asked 2019-Jun-19 at 06:29

            So I have a HTML/CSS problem I cannot seem to figure out. I am trying to align 3 images and text, all vertically in the following pattern: image text image text image text. I managed to do it on my own and it displays properly on my 13" MacBook. However, as soon as I shrink the window everything gets messed up. So, I was wondering if anyone could help me figure out a way to make the formatting respond to screen size?

            P.S. I did get it to work for mobile though.

            My code:

            ...

            ANSWER

            Answered 2019-Jun-19 at 06:22

            You can use Flexbox. I made few changes to your HTML as well.

            Update: Check the full screen preview for desktop version, media query 680px is used which can be changed as per your requirement.

            Source https://stackoverflow.com/questions/56660850

            QUESTION

            Stack Level too deep with method_added ruby
            Asked 2018-Nov-26 at 20:07

            I have created a module to hook methods before a method call in a class :

            ...

            ANSWER

            Answered 2018-Nov-26 at 20:07

            You've caused an infinite recursion because you're calling define_method inside method_added. The stack trace (which you haven't provided unfortunately) should show this.

            A slightly ugly workaround to resolve this could be to explicitly set a variable (e.g. @_adding_a_method) and use it as a guard clause for method_added:

            Source https://stackoverflow.com/questions/53487250

            QUESTION

            How to prevent memory editing to prevent hooking
            Asked 2018-Jul-15 at 04:37

            I recently learned inline hooking x32 and x64 which is based on overwriting the first bytes of the function with a jmp to the hooking function or by pushing the 64 address to rax then jmp rax to perform a far jmp on x64 architecture I also learned iat hooking and delay imports hooking which requires editing an offest holding function address in the import table to point to my hook function Also hooking by exceptions requires editing at least the first byte to an unknown byte so an exception will be thrown and you will catch it with your already installed handler and redirect to your trampoline

            All these types of hooking requires editing memory and the memory usually is PAGE_EXECUTEREAD for functions or read only for the import table

            So the attacker will use VirtualProtect or NtVirtualProtect to be able to edit the bytes

            One more hooking method is via guard exceptions which almost doesn't require any editing to the bytes but to the memory protection so an exception will be raised on accessing the function and you will handle them and do whatever you want

            So these methods all require changing the protection of the memory so i think of hooking VirtualProtect and NtVirtualProtect to prevent any edit for particular addresses but the hooker can unhook the functions and bypass this

            I heard about new mitigations such dynamic code generation preventing but I need to allocate some executable code so I can't use this and it won't protect against iat hooking and guard exceptions hooking

            Is there really a method to full defend against hooking or at least make it very hard ?

            ...

            ANSWER

            Answered 2018-Jul-12 at 15:14

            I think that you can't protect from hooking entirely. Still hacker can modify you executable file on disk in such a way that it won't install hooks. Or he just can install hooks inside your executable himself.

            To prevent this actually there are a lot of techniques. For example, you can do a lot of checks for modification of your program. You can do hidden checks for modification of particular sections of code in program and you can obfuscate your code. There are many other techniques, that are usually combined to make an efficient software protection system. But none of the ways can make your code fully protected from hacker's modifications. If there was such a protection, no software/game would be pirated. Now pirating software which is distributed to clients is only a matter of difficulty. The more complicated protection system is, the more time it takes to hack it. But it's never impossible.

            Source https://stackoverflow.com/questions/51309012

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install hooker

            We developped Hooker using a Debian 64-bits system and as so, it may fail to execute properly on other systems due to improper paths or parameters. Your help to identify those incompatibilities is highly appreciated. Please report an issue in our Bug Tracker if you meet any error while using it.
            python 2.7,
            elasticsearch 1.7,
            kibana 4.1,
            Android 4.1 and 4.2,
            androguard 1.9.
            This step is related to the ElasticSearch installation. Please download and follow ElasticSearch online documentation: http://www.elasticsearch.org/overview/elkdownloads/. You can either install the elasticsearch on a single host or deploy a cluster of elasticsearch nodes.
            You can download Android bundle [here](http://developer.android.com/sdk/index.html). If you want to use the Hooker install script, you have to:.
            Make sure to set your ANDROID_HOME environment variable: $ export ANDROID_HOME=/path/to/your/sdk/folder
            Download SDK APIs from your SDK manager.
            An install script is provided to help you build and install all necessary dependances. If you want to use this script, make sure you have the following dependances:.
            Check that you have available targets: $ $ANDROID_HOME/tools/android list target. Launch the automatic script for an easier installation: cd tools/emulatorCreator && python HookerInstaller.py -s SDK_PATH -a Hooker_test -t ANDROID_TARGET -d AVD_DIRECTORY,.
            Check that you have available targets: $ $ANDROID_HOME/tools/android list target.
            Launch the automatic script for an easier installation: cd tools/emulatorCreator && python HookerInstaller.py -s SDK_PATH -a Hooker_test -t ANDROID_TARGET -d AVD_DIRECTORY,
            When python logs tell you so:
            Open SuperSU app, click on \"Continue\" to update SU binary, choose the \"Normal\" installation mode, wait a bit. Click on "OK" (NOT "Reboot"!) and exit the application.
            Open Substrate app, click "Link Substrate Files", allow Substrate, and reclick again on "Link Substrate Files".
            Install APK-instrumenter APK with ADB.
            Click on "Restart System (Soft)" when the Substrate application pop up.
            Wait for the system to restart and disable the lockscreen security: Menu > System Settings > Security > Screen lock > None
            Close your emulator.
            If you don’t want to use the automatic script, you’ll have to remember that:
            Hooker needs an SD card to work properly,
            Hooker needs to have snapshot enable. Careful if you use android-studio to create your AVD: there is a bug (or feature, dunno) which makes it difficult to use snapshots…​
            If you want to make a manual analysis, copy file hooker_xp/sampleManualAnalysis.conf,. If you want to make an automatic analysis, copy file hooker_xp/sampleAutomaticAnalysis.conf,. If you want to make an analysis on real devices, copy one of the *RealDevice* configuration files,. Depending on your system configuration, customize the different parameters declared in retained configuration file. Sample configuration files are verbose++, so please read comments,. In relation with previous steps, you need to specify the path to your reference AVD you just built. As the comments explain it, just put the path + name of AVD, i.e. without the .avd extension.
            If you want to make a manual analysis, copy file hooker_xp/sampleManualAnalysis.conf,
            If you want to make an automatic analysis, copy file hooker_xp/sampleAutomaticAnalysis.conf,
            If you want to make an analysis on real devices, copy one of the *RealDevice* configuration files,
            Depending on your system configuration, customize the different parameters declared in retained configuration file. Sample configuration files are verbose++, so please read comments,
            In relation with previous steps, you need to specify the path to your reference AVD you just built. As the comments explain it, just put the path + name of AVD, i.e. without the .avd extension.

            Support

            We would be delighted if you could help us improve this work. Please use github features to provide your bugfixes and improvements.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/AndroidHooker/hooker.git

          • CLI

            gh repo clone AndroidHooker/hooker

          • sshUrl

            git@github.com:AndroidHooker/hooker.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Reverse Engineering Libraries

            ghidra

            by NationalSecurityAgency

            radare2

            by radareorg

            ILSpy

            by icsharpcode

            bytecode-viewer

            by Konloch

            ImHex

            by WerWolv