diff --git a/.gitignore b/.gitignore index c7f0181..55a7b94 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ *.so *.pyc injector/injector +libs +obj diff --git a/Makefile b/Makefile index eaf5039..bc55a47 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,11 @@ -SUBDIRS=injector libhook - PROCESS=com.android.chrome ACTIVITY=com.google.android.apps.chrome.Main all: - for d in $(SUBDIRS); do [ -d $$d ] && $(MAKE) -C $$d; done + @ndk-build -B clean: - for d in $(SUBDIRS); do [ -d $$d ] && $(MAKE) -C $$d clean; done + @rm -rf obj libs test: all python test.py diff --git a/common.mk b/common.mk deleted file mode 100644 index f0f3161..0000000 --- a/common.mk +++ /dev/null @@ -1,21 +0,0 @@ -ifndef ANDROID_SYSROOT -SYSROOT = $(HOME)/android/ndk/platforms/android-18/arch-arm/ -else -SYSROOT = $(ANDROID_SYSROOT) -endif - -ifndef ANDROID_STLPORT_INCLUDES -STLPORT_INC = $(HOME)/android/ndk/sources/cxx-stl/stlport/stlport/ -else -STLPORT_INC = $(ANDROID_STLPORT_INCLUDES) -endif - -ifndef ANDROID_STLPORT_LIBS -STLPORT_LIBS = $(HOME)/android/ndk/sources/cxx-stl/stlport/libs/armeabi/ -else -STLPORT_LIBS = $(ANDROID_STLPORT_LIBS) -endif - -PREFIX = arm-linux-androideabi- -CXX = $(PREFIX)g++ -CXXFLAGS = -I$(STLPORT_INC) -L$(STLPORT_LIBS) -Wall -Werror -fpermissive -O3 -fPIC -fPIE -pie --sysroot $(SYSROOT) diff --git a/injector/Makefile b/injector/Makefile deleted file mode 100644 index 8f153ac..0000000 --- a/injector/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -include ../common.mk - -TARGET = injector -MAIN_SRCS = main.cpp -MAIN_OBJS = $(MAIN_SRCS:.cpp=.o) - -all: $(MAIN_OBJS) - @$(CXX) $(CXXFLAGS) -o $(TARGET) $(MAIN_OBJS) -lstlport_static - -%.o: %.cpp - @$(CXX) $(CXXFLAGS) -c -o $@ $< - -clean: - @rm -f *.o $(TARGET) diff --git a/jni/Android.mk b/jni/Android.mk new file mode 100644 index 0000000..c455f97 --- /dev/null +++ b/jni/Android.mk @@ -0,0 +1,3 @@ +LOCAL_PATH := $(call my-dir) + +include $(call all-subdir-makefiles) diff --git a/jni/Application.mk b/jni/Application.mk new file mode 100644 index 0000000..3ac784c --- /dev/null +++ b/jni/Application.mk @@ -0,0 +1,6 @@ +APP_PLATFORM := android-19 +APP_ABI := armeabi-v7a +APP_STL := stlport_static +APP_PIE := true + +APP_CXXFLAGS := -Wall -Werror -fpermissive -fpic diff --git a/jni/injector/Android.mk b/jni/injector/Android.mk new file mode 100644 index 0000000..ff53a6e --- /dev/null +++ b/jni/injector/Android.mk @@ -0,0 +1,8 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := injector +LOCAL_SRC_FILES := main.cpp + +include $(BUILD_EXECUTABLE) diff --git a/injector/main.cpp b/jni/injector/main.cpp similarity index 100% rename from injector/main.cpp rename to jni/injector/main.cpp diff --git a/injector/traced.hpp b/jni/injector/traced.hpp similarity index 100% rename from injector/traced.hpp rename to jni/injector/traced.hpp diff --git a/jni/libhook/Android.mk b/jni/libhook/Android.mk new file mode 100644 index 0000000..7ea7a45 --- /dev/null +++ b/jni/libhook/Android.mk @@ -0,0 +1,9 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := libhook +LOCAL_SRC_FILES := main.cpp hook.cpp report.cpp hooks/io.cpp +LOCAL_LDLIBS := -llog + +include $(BUILD_SHARED_LIBRARY) diff --git a/libhook/hook.cpp b/jni/libhook/hook.cpp similarity index 100% rename from libhook/hook.cpp rename to jni/libhook/hook.cpp diff --git a/libhook/hook.h b/jni/libhook/hook.h similarity index 100% rename from libhook/hook.h rename to jni/libhook/hook.h diff --git a/libhook/hooks/io.cpp b/jni/libhook/hooks/io.cpp similarity index 100% rename from libhook/hooks/io.cpp rename to jni/libhook/hooks/io.cpp diff --git a/libhook/hooks/io.h b/jni/libhook/hooks/io.h similarity index 100% rename from libhook/hooks/io.h rename to jni/libhook/hooks/io.h diff --git a/libhook/linker.h b/jni/libhook/linker.h similarity index 100% rename from libhook/linker.h rename to jni/libhook/linker.h diff --git a/libhook/main.cpp b/jni/libhook/main.cpp similarity index 100% rename from libhook/main.cpp rename to jni/libhook/main.cpp diff --git a/libhook/report.cpp b/jni/libhook/report.cpp similarity index 100% rename from libhook/report.cpp rename to jni/libhook/report.cpp diff --git a/libhook/report.h b/jni/libhook/report.h similarity index 100% rename from libhook/report.h rename to jni/libhook/report.h diff --git a/libhook/Makefile b/libhook/Makefile deleted file mode 100644 index 85de8fa..0000000 --- a/libhook/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -include ../common.mk - -TARGET = libhook.so -MAIN_SRCS = main.cpp hook.cpp report.cpp hooks/io.cpp -MAIN_OBJS = $(MAIN_SRCS:.cpp=.o) - -all: $(MAIN_OBJS) - @$(CXX) $(CXXFLAGS) -shared -Wl,-soname,$(TARGET) -o $(TARGET) $(MAIN_OBJS) -llog -lstlport_static - -%.o: %.cpp - @$(CXX) $(CXXFLAGS) -I. -c -o $@ $< - -clean: - @rm -f *.o $(TARGET) diff --git a/test.py b/test.py index 63945c0..aee0f62 100644 --- a/test.py +++ b/test.py @@ -35,8 +35,8 @@ print "@ Pushing files to /data/local/tmp ..." adb.sh( "rm -rf /data/local/tmp/injector /data/local/tmp/libhook.so" ) - adb.push( "injector/injector", "/data/local/tmp/injector" ) - adb.push( "libhook/libhook.so", "/data/local/tmp/libhook.so" ) + adb.push( "libs/armeabi-v7a/injector", "/data/local/tmp/injector" ) + adb.push( "libs/armeabi-v7a/libhook.so", "/data/local/tmp/libhook.so" ) adb.sh( "chmod 777 /data/local/tmp/injector" ) print "@ Starting %s/%s ..." % ( process, activity )