mirror of
https://github.com/HIllya51/LunaHook.git
synced 2024-11-30 17:15:38 +08:00
Kincaid
This commit is contained in:
parent
8c2acca210
commit
bf316dd54a
@ -1,6 +1,6 @@
|
|||||||
include_directories(. util engines)
|
include_directories(. util engines)
|
||||||
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||||
set(enginessrc vita3k rpcs3 yuzusuyu TYPEMOON ENTERGRAM AGES7 mono Godot Renpy 5pb lucasystem LightVN V8 pchooks Artemis KiriKiri YOX PPSSPP CMVS Suika2 )
|
set(enginessrc Kincaid vita3k rpcs3 yuzusuyu TYPEMOON ENTERGRAM AGES7 mono Godot Renpy 5pb lucasystem LightVN V8 pchooks Artemis KiriKiri YOX PPSSPP CMVS Suika2 )
|
||||||
set(enginepath "engine64")
|
set(enginepath "engine64")
|
||||||
set(collector "enginecollection64.cpp")
|
set(collector "enginecollection64.cpp")
|
||||||
else()
|
else()
|
||||||
@ -11,7 +11,7 @@ endif()
|
|||||||
string(REPLACE ";" ".cpp;${enginepath}/" enginessrc "${enginessrc}")
|
string(REPLACE ";" ".cpp;${enginepath}/" enginessrc "${enginessrc}")
|
||||||
#message("${enginessrc}")
|
#message("${enginessrc}")
|
||||||
set(enginessrc "${enginepath}/${enginessrc}.cpp")
|
set(enginessrc "${enginepath}/${enginessrc}.cpp")
|
||||||
#message("${enginessrc}")
|
message("${enginessrc}")
|
||||||
set_source_files_properties(${enginessrc} PROPERTIES SOURCE_ENCODING "UTF-8")
|
set_source_files_properties(${enginessrc} PROPERTIES SOURCE_ENCODING "UTF-8")
|
||||||
|
|
||||||
set(texthook_src
|
set(texthook_src
|
||||||
|
38
LunaHook/engine64/Kincaid.cpp
Normal file
38
LunaHook/engine64/Kincaid.cpp
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include"Kincaid.h"
|
||||||
|
namespace{
|
||||||
|
bool _1(){
|
||||||
|
// .text:0000000140230D80 mov rsi, rax
|
||||||
|
// .text:0000000140230D83 mov edx, 1
|
||||||
|
// .text:0000000140230D88 mov rcx, rdi
|
||||||
|
// .text:0000000140230D8B call sub_1402B35B0
|
||||||
|
// .text:0000000140230D90 lea ebx, [rax-1]
|
||||||
|
// .text:0000000140230D93 mov edx, 2
|
||||||
|
// .text:0000000140230D98 mov rcx, rdi
|
||||||
|
// .text:0000000140230D9B call sub_1402B35B0
|
||||||
|
BYTE b1[]={
|
||||||
|
0x48,0x8b,0xf0,
|
||||||
|
0xba,0x01,0x00,0x00,0x00,
|
||||||
|
0x48,0x8b,0xcf,
|
||||||
|
0xe8,XX4,
|
||||||
|
0x8d,0x58,0xff,
|
||||||
|
0xba,0x02,0x00,0x00,0x00,
|
||||||
|
0x48,0x8b,0xcf,
|
||||||
|
0xe8,XX4
|
||||||
|
};
|
||||||
|
auto addr=MemDbg::findBytes(b1,sizeof(b1),processStartAddress,processStopAddress);
|
||||||
|
if(addr==0)return false;
|
||||||
|
HookParam hp;
|
||||||
|
hp.address=addr;
|
||||||
|
hp.type=USING_STRING|CODEC_UTF8;
|
||||||
|
hp.offset=get_reg(regs::rax);
|
||||||
|
hp.text_fun=[](hook_stack* stack, HookParam* hp, uintptr_t* data, uintptr_t* split, size_t* len){
|
||||||
|
*data=stack->rax;
|
||||||
|
if(stack->retaddr==(DWORD)-1)
|
||||||
|
*len=strlen((char*)*data);
|
||||||
|
};
|
||||||
|
return NewHook(hp,"Kincaid");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool Kincaid::attach_function(){
|
||||||
|
return _1();
|
||||||
|
}
|
40
LunaHook/engine64/Kincaid.h
Normal file
40
LunaHook/engine64/Kincaid.h
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
// FILEVERSION 0,0,0,1
|
||||||
|
// PRODUCTVERSION 0,0,0,1
|
||||||
|
// FILEFLAGSMASK 0x3F
|
||||||
|
// FILEFLAGS 0x0
|
||||||
|
// FILEOS VOS_UNKNOWN | VOS__WINDOWS32
|
||||||
|
// FILETYPE VFT_DLL
|
||||||
|
// FILESUBTYPE 0x0
|
||||||
|
// {
|
||||||
|
// BLOCK "StringFileInfo"
|
||||||
|
// {
|
||||||
|
// BLOCK "080904b0"
|
||||||
|
// {
|
||||||
|
// VALUE "CompanyName", "Cookiedraggy"
|
||||||
|
// VALUE "FileDescription", "The Adventures of Kincaid"
|
||||||
|
// VALUE "FileVersion", "0.0.0.1"
|
||||||
|
// VALUE "LegalCopyright", "(c) 2019 Cookiedraggy"
|
||||||
|
// VALUE "PrivateBuild", "01.00.00.00"
|
||||||
|
// VALUE "ProductName", "The Adventures of Kincaid"
|
||||||
|
// VALUE "ProductVersion", "0.0.0.1"
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// BLOCK "VarFileInfo"
|
||||||
|
// {
|
||||||
|
// VALUE "Translation", 0x809, 1200
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
class Kincaid:public ENGINE{
|
||||||
|
public:
|
||||||
|
Kincaid(){
|
||||||
|
|
||||||
|
check_by=CHECK_BY::CUSTOM;
|
||||||
|
check_by_target=[](){
|
||||||
|
return Util::SearchResourceString(L"Cookiedraggy")|| Util::SearchResourceString(L"The Adventures of Kincaid");
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
bool attach_function();
|
||||||
|
};
|
@ -14,6 +14,7 @@
|
|||||||
#include"engine64/lucasystem.h"
|
#include"engine64/lucasystem.h"
|
||||||
#include"engine64/ENTERGRAM.h"
|
#include"engine64/ENTERGRAM.h"
|
||||||
#include"engine64/TYPEMOON.h"
|
#include"engine64/TYPEMOON.h"
|
||||||
|
#include"engine64/Kincaid.h"
|
||||||
#include"engine64/LightVN.h"
|
#include"engine64/LightVN.h"
|
||||||
#include"engine64/yuzusuyu.h"
|
#include"engine64/yuzusuyu.h"
|
||||||
#include"engine64/vita3k.h"
|
#include"engine64/vita3k.h"
|
||||||
@ -42,7 +43,8 @@ std::vector<ENGINE*> check_engines(){
|
|||||||
new yuzusuyu,
|
new yuzusuyu,
|
||||||
new PPSSPPengine,
|
new PPSSPPengine,
|
||||||
new vita3k,
|
new vita3k,
|
||||||
new rpcs3
|
new rpcs3,
|
||||||
|
new Kincaid
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user