--- ./Makefile.linux.mk.orig 2020-12-05 10:51:28.873352898 +0100 +++ ./Makefile.linux.mk 2020-12-05 10:58:48.332580362 +0100 @@ -213,6 +213,10 @@ --prefix $(FRIDA)/build/frida-android-arm \ --libdir $(FRIDA)/build/frida-android-arm/lib \ $(frida_core_flags) \ + -Dhelper32=$(FRIDA)/build/tmp-android-x86/frida-core/src/frida-helper \ + -Dhelper64=$(FRIDA)/build/tmp-android-x86_64/frida-core/src/frida-helper \ + -Dagent32=$(FRIDA)/build/tmp-android-x86/frida-core/lib/agent/frida-agent.so \ + -Dagent64=$(FRIDA)/build/tmp-android-x86_64/frida-core/lib/agent/frida-agent.so \ frida-core $$builddir || exit 1; \ fi @touch $@ @@ -241,6 +245,10 @@ --prefix $(FRIDA)/build/frida_thin-$* \ --libdir $(FRIDA)/build/frida_thin-$*/lib \ $(frida_core_flags) \ + -Dhelper32=$(FRIDA)/build/tmp-android-arm/frida-core/src/frida-helper \ + -Dhelper64=$(FRIDA)/build/tmp-android-arm64/frida-core/src/frida-helper \ + -Dagent32=$(FRIDA)/build/tmp-android-arm/frida-core/lib/agent/frida-agent.so \ + -Dagent64=$(FRIDA)/build/tmp-android-arm64/frida-core/lib/agent/frida-agent.so \ frida-core $$builddir || exit 1; \ fi @touch $@ @@ -301,6 +309,10 @@ python-linux-x86_64-thin: build/tmp_thin-linux-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/x86-64 without cross-arch support python-linux-armhf: build/tmp_thin-linux-armhf/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/armhf python-linux-arm64: build/tmp_thin-linux-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Linux/arm64 +python-android-x86: build/tmp-android-x86/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/x86 +python-android-x86_64: build/tmp-android-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/x86_64 +python-android-arm: build/tmp-android-arm/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/ARM +python-android-arm64: build/tmp-android-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Build Python bindings for Android/ARM64 define make-python-rule build/$2-%/frida-$$(PYTHON_NAME)/.frida-stamp: build/.frida-python-submodule-stamp build/$1-%/lib/pkgconfig/frida-core-1.0.pc @@ -346,6 +358,22 @@ export PYTHONPATH="$(shell pwd)/build/frida_thin-linux-arm64/lib/$(PYTHON_NAME)/site-packages" \ && cd frida-python \ && ${PYTHON} -m unittest discover +check-python-android-x86: build/tmp_thin-android-x86/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/x86 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-python \ + && ${PYTHON} -m unittest discover +check-python-android-x86_64: build/tmp_thin-android-x86_64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/x86_64 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86_64/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-python \ + && ${PYTHON} -m unittest discover +check-python-android-arm: build/tmp_thin-android-arm/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/ARM + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-python \ + && ${PYTHON} -m unittest discover +check-python-android-arm64: build/tmp_thin-android-arm64/frida-$(PYTHON_NAME)/.frida-stamp ##@python Test Python bindings for Android/ARM64 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm64/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-python \ + && ${PYTHON} -m unittest discover node-linux-x86: build/frida-linux-x86/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86 @@ -354,6 +382,10 @@ node-linux-x86_64-thin: build/frida_thin-linux-x86_64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/x86-64 without cross-arch support node-linux-armhf: build/frida_thin-linux-armhf/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/armhf node-linux-arm64: build/frida_thin-linux-arm64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Linux/arm64 +node-android-x86: build/frida_thin-android-x86/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/x86 +node-android-x86_64: build/frida_thin-android-x86_64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/x86_64 +node-android-arm: build/frida_thin-android-arm/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/ARM +node-android-arm64: build/frida_thin-android-arm64/lib/node_modules/frida build/.frida-node-submodule-stamp ##@node Build Node.js bindings for Android/ARM64 define make-node-rule build/$1-%/lib/node_modules/frida: build/$1-%/lib/pkgconfig/frida-core-1.0.pc build/.frida-node-submodule-stamp @@ -400,6 +432,14 @@ $(call run-node-tests,frida_thin-linux-armhf,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) check-node-linux-arm64: node-linux-arm64 ##@node Test Node.js bindings for Linux/arm64 $(call run-node-tests,frida_thin-linux-arm64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) +check-node-android-x86: node-android-x86 ##@node Test Node.js bindings for Android/x86 + $(call run-node-tests,frida_thin-android-x86,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) +check-node-android-x86_64: node-android-x86_64 ##@node Test Node.js bindings for Android/x86_64 + $(call run-node-tests,frida_thin-android-x86_64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) +check-node-android-arm: node-android-arm ##@node Test Node.js bindings for Android/ARM + $(call run-node-tests,frida_thin-android-arm,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) +check-node-android-arm64: node-android-arm64 ##@node Test Node.js bindings for Android/ARM64 + $(call run-node-tests,frida_thin-android-arm64,$(FRIDA),$(NODE_BIN_DIR),$(NODE),$(NPM)) tools-linux-x86: build/tmp-linux-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/x86 @@ -408,6 +448,10 @@ tools-linux-x86_64-thin: build/tmp_thin-linux-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/x86-64 without cross-arch support tools-linux-armhf: build/tmp_thin-linux-armhf/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/armhf tools-linux-arm64: build/tmp_thin-linux-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Linux/arm64 +tools-android-x86: build/tmp-android-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/x86 +tools-android-x86_64: build/tmp-android-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/x86_64 +tools-android-arm: build/tmp-android-arm/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/ARM +tools-android-arm64: build/tmp-android-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Build CLI tools for Android/ARM64 define make-tools-rule build/$2-%/frida-tools-$$(PYTHON_NAME)/.frida-stamp: build/.frida-tools-submodule-stamp build/$2-%/frida-$$(PYTHON_NAME)/.frida-stamp @@ -451,6 +495,23 @@ export PYTHONPATH="$(shell pwd)/build/frida_thin-linux-arm64/lib/$(PYTHON_NAME)/site-packages" \ && cd frida-tools \ && ${PYTHON} -m unittest discover +check-tools-android-x86: build/tmp_thin-android-x86/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/x86 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-tools \ + && ${PYTHON} -m unittest discover +check-tools-android-x86_64: build/tmp_thin-android-x86_64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/x86_64 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-x86_64/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-tools \ + && ${PYTHON} -m unittest discover +check-tools-android-arm: build/tmp_thin-android-arm/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/ARM + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-tools \ + && ${PYTHON} -m unittest discover +check-tools-android-arm64: build/tmp_thin-android-arm64/frida-tools-$(PYTHON_NAME)/.frida-stamp ##@tools Test CLI tools for Android/ARM64 + export PYTHONPATH="$(shell pwd)/build/frida_thin-android-arm64/lib/$(PYTHON_NAME)/site-packages" \ + && cd frida-tools \ + && ${PYTHON} -m unittest discover + .PHONY: \ @@ -479,26 +540,40 @@ check-core-linux-x86 check-core-linux-x86_64 \ check-core-linux-x86-thin check-core-linux-x86_64-thin \ check-core-linux-armhf check-core-linux-arm64 \ + check-core-android-x86 check-core-android-x86_64 \ + check-core-android-arm check-core-android-arm64 \ frida-core-update-submodule-stamp \ python-linux-x86 python-linux-x86_64 \ python-linux-x86-thin python-linux-x86_64-thin \ python-linux-armhf python-linux-arm64 \ + python-android-x86 python-android-x86_64 \ + python-android-arm python-android-arm64 \ check-python-linux-x86 check-python-linux-x86_64 \ check-python-linux-x86-thin check-python-linux-x86_64-thin \ check-python-linux-armhf check-python-linux-arm64 \ + check-python-android-x86 check-python-android-x86_64 \ + check-python-android-arm check-python-android-arm64 \ frida-python-update-submodule-stamp \ node-linux-x86 node-linux-x86_64 \ node-linux-x86-thin node-linux-x86_64-thin \ node-linux-armhf node-linux-arm64 \ + node-android-x86 node-android-x86_64 \ + node-android-arm node-android-arm64 \ check-node-linux-x86 check-node-linux-x86_64 \ check-node-linux-x86-thin check-node-linux-x86_64-thin \ check-node-linux-armhf check-node-linux-arm64 \ + check-node-android-x86 check-node-android-x86_64 \ + check-node-android-arm check-node-android-arm64 \ frida-node-update-submodule-stamp \ tools-linux-x86 tools-linux-x86_64 \ tools-linux-x86-thin tools-linux-x86_64-thin \ tools-linux-armhf tools-linux-arm64 \ + tools-android-x86 tools-android-x86_64 \ + tools-android-arm tools-android-arm64 \ check-tools-linux-x86 check-tools-linux-x86_64 \ check-tools-linux-x86-thin check-tools-linux-x86_64-thin \ check-tools-linux-armhf check-tools-linux-arm64 \ + check-tools-android-x86 check-tools-android-x86_64 \ + check-tools-android-arm check-tools-android-arm64 \ frida-tools-update-submodule-stamp .SECONDARY: