diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..195f414 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 2.8) + +if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) + if(DEFINED ENV{VITASDK}) + set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file") + else() + message(FATAL_ERROR "Please define VITASDK to point to your SDK path!") + endif() +endif() + +project(reSkype) +include("${VITASDK}/share/vita.cmake" REQUIRED) + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-q -Wall -O3 -std=gnu99") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions") + +include_directories( +) + +link_directories( + ${CMAKE_CURRENT_BINARY_DIR} +) + +if (NOT ${RELEASE}) + add_definitions(-DENABLE_LOGGING) +endif() + +add_executable(reSkype + reSkype.c +) + +target_link_libraries(reSkype + taihen_stub + SceLibKernel_stub +) + +set_target_properties(reSkype + PROPERTIES LINK_FLAGS "-nostdlib" +) + +vita_create_self(reSkype.suprx reSkype + CONFIG ${CMAKE_SOURCE_DIR}/reSkype.yml +) \ No newline at end of file diff --git a/reSkype.c b/reSkype.c new file mode 100644 index 0000000..c8dd592 --- /dev/null +++ b/reSkype.c @@ -0,0 +1,23 @@ +// reSkype + +#include +#include + +void _start() __attribute__ ((weak, alias ("module_start"))); + +int module_start(SceSize argc, const void *args) { + tai_module_info_t info; + info.size = sizeof(info); + + taiGetModuleInfo("SceShell", &info); + + char buf[0x2D]; + sceClibMemset(buf,0x00,0x2D); + taiInjectData(info.modid, 0x00, 0x5161EC, buf, 0x2D); + + return SCE_KERNEL_START_SUCCESS; +} + +int module_stop(SceSize argc, const void *args) { + return SCE_KERNEL_STOP_SUCCESS; +} diff --git a/reSkype.yml b/reSkype.yml new file mode 100644 index 0000000..5088c82 --- /dev/null +++ b/reSkype.yml @@ -0,0 +1,8 @@ +reSkype: + attributes: 0 + version: + major: 1 + minor: 1 + main: + start: module_start + stop: module_stop