mirror of
https://github.com/360NENZ/Taiga74164-Akebi-GC.git
synced 2025-01-08 10:23:29 +08:00
commit
8872b728de
@ -50,6 +50,7 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\user\cheat\teleport\CustomTeleports.h" />
|
||||
<ClInclude Include="src\user\cheat\visuals\Browser.h" />
|
||||
<ClInclude Include="src\user\cheat\visuals\CameraZoom.h" />
|
||||
<ClInclude Include="src\user\cheat\visuals\FPSUnlock.h" />
|
||||
<ClInclude Include="src\user\cheat\visuals\HideUI.h" />
|
||||
@ -163,6 +164,7 @@
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\user\cheat\teleport\CustomTeleports.cpp" />
|
||||
<ClCompile Include="src\user\cheat\GenshinCM.cpp" />
|
||||
<ClCompile Include="src\user\cheat\visuals\Browser.cpp" />
|
||||
<ClCompile Include="src\user\cheat\visuals\CameraZoom.cpp" />
|
||||
<ClCompile Include="src\user\cheat\visuals\FPSUnlock.cpp" />
|
||||
<ClCompile Include="src\user\cheat\visuals\HideUI.cpp" />
|
||||
|
@ -234,6 +234,9 @@
|
||||
<ClInclude Include="src\user\cheat\visuals\HideUI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\user\cheat\visuals\Browser.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Font Include="res\Ruda-Bold.ttf" />
|
||||
@ -426,6 +429,9 @@
|
||||
<ClCompile Include="src\user\cheat\visuals\HideUI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\user\cheat\visuals\Browser.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="res\res.rc">
|
||||
|
@ -164,6 +164,25 @@ DO_APP_FUNC(0x065546E0, Transform*, Transform_GetChild, (Transform* __this, int3
|
||||
DO_APP_FUNC(0x0652EA10, Component_1*, Component_1_GetComponent_1, (Component_1* __this, String* type, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0662F520, void, GameObject_SetActive, (GameObject* __this, bool value, MethodInfo* method));
|
||||
|
||||
// Browser
|
||||
DO_APP_FUNC(0x0662F100, GameObject*, GameObject_CreatePrimitive, (PrimitiveType__Enum type, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0662F700, Transform*, GameObject_get_transform, (GameObject* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06555EF0, void, Transform_set_localRotation, (Transform* __this, Quaternion value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x065548E0, void, Transform_set_localScale, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06555EE0, void, Transform_set_localPosition, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0662F090, Component_1*, GameObject_AddComponentInternal, (GameObject* __this, String* className, MethodInfo* method));
|
||||
DO_APP_FUNC(0x064296D0, void, Browser_Show, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06427060, void, Browser_Hide, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00C21580, void, Browser_set_EnableRendering, (Browser* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0642C5D0, void, Browser_set_Url, (Browser* __this, String* value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x064273E0, void, Browser_LoadURL, (Browser* __this, String* url, bool force, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06427610, void, Browser_OnDestroy, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0642A200, void, Browser_Update, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06427100, void, Browser_LateUpdate, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06429770, void, Browser_Stop, (Browser* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06550910, void, Object_1_Destroy_1, (Object_1* obj, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0662F0A0, Component_1*, GameObject_AddComponent, (GameObject* __this, Type* componentType, MethodInfo* method));
|
||||
DO_APP_FUNC(0x065508C0, void, Object_1_DestroyImmediate_1, (Object_1* obj, MethodInfo* method));
|
||||
|
||||
// Utility
|
||||
DO_APP_FUNC(0x03551B60, String*, Text_get_text, (Text* __this, MethodInfo* method));
|
||||
|
@ -3818,6 +3818,12 @@ namespace app {
|
||||
void* m_CachedPtr;
|
||||
};
|
||||
|
||||
struct Object_1 {
|
||||
struct Object_1__Class* klass;
|
||||
MonitorData* monitor;
|
||||
struct Object_1__Fields fields;
|
||||
};
|
||||
|
||||
struct Component_1__Fields {
|
||||
struct Object_1__Fields _;
|
||||
};
|
||||
@ -11538,6 +11544,103 @@ namespace app {
|
||||
struct MonoFriendInformationDialog__Fields fields;
|
||||
};
|
||||
|
||||
struct Color32 {
|
||||
int32_t rgba;
|
||||
uint8_t r;
|
||||
uint8_t g;
|
||||
uint8_t b;
|
||||
uint8_t a;
|
||||
};
|
||||
|
||||
enum class PrimitiveType__Enum : int32_t {
|
||||
Sphere = 0x00000000,
|
||||
Capsule = 0x00000001,
|
||||
Cylinder = 0x00000002,
|
||||
Cube = 0x00000003,
|
||||
Plane = 0x00000004,
|
||||
Quad = 0x00000005,
|
||||
};
|
||||
|
||||
enum class BrowserNative_ContextMenuOrigin__Enum : int32_t {
|
||||
Editable = 0x00000002,
|
||||
Image = 0x00000004,
|
||||
Selection = 0x00000008,
|
||||
Other = 0x00000001,
|
||||
};
|
||||
|
||||
enum class Browser_NewWindowAction__Enum : int32_t {
|
||||
Ignore = 0x00000001,
|
||||
Redirect = 0x00000002,
|
||||
NewBrowser = 0x00000003,
|
||||
NewWindow = 0x00000004,
|
||||
};
|
||||
|
||||
struct Browser__Fields {
|
||||
struct MonoBehaviour__Fields _;
|
||||
bool offScreen;
|
||||
struct IBrowserUI* _uiHandler;
|
||||
bool uiHandlerAssigned;
|
||||
struct String* _url;
|
||||
int32_t _width;
|
||||
int32_t _height;
|
||||
bool generateMipmap;
|
||||
struct Color32 baseColor;
|
||||
float _zoom;
|
||||
struct Action_2_String_String_* onConsoleMessage;
|
||||
BrowserNative_ContextMenuOrigin__Enum allowContextMenuOn;
|
||||
Browser_NewWindowAction__Enum newWindowAction;
|
||||
struct INewWindowHandler* _NewWindowHandler_k__BackingField;
|
||||
bool _EnableRendering_k__BackingField;
|
||||
bool _EnableInput_k__BackingField;
|
||||
struct CookieManager* _CookieManager_k__BackingField;
|
||||
int32_t browserId;
|
||||
int32_t unsafeBrowserId;
|
||||
bool browserIdRequested;
|
||||
struct Texture2D* texture;
|
||||
struct Action_1_UnityEngine_Texture2D_* afterResize;
|
||||
bool textureIsOurs;
|
||||
bool forceNextRender;
|
||||
bool isPopup;
|
||||
struct List_1_System_Action_* thingsToDo;
|
||||
struct List_1_System_Action_* onloadActions;
|
||||
struct List_1_System_Object_* thingsToRemember;
|
||||
int32_t nextCallbackId;
|
||||
struct Dictionary_2_System_Int32_ZenFulcrum_EmbeddedBrowser_Browser_JSResultFunc_* registeredCallbacks;
|
||||
struct BrowserNative_ReadyFunc* onNativeReady;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onLoad;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onFetch;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onFetchError;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onCertError;
|
||||
struct Action* onSadTab;
|
||||
struct Action* onTextureUpdated;
|
||||
struct Action* onNavStateChange;
|
||||
struct Action_2_Int32_ZenFulcrum_EmbeddedBrowser_JSONNode_* onDownloadStarted;
|
||||
struct Action_2_Int32_ZenFulcrum_EmbeddedBrowser_JSONNode_* onDownloadStatus;
|
||||
struct Action_3_String_Boolean_String_* onNodeFocus;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onUniWebviewMsgReceive;
|
||||
struct Action_1_ZenFulcrum_EmbeddedBrowser_JSONNode_* onBeforeNavigationMsgReceive;
|
||||
struct Action_2_Boolean_Boolean_* onBrowserFocus;
|
||||
struct BrowserFocusState* focusState;
|
||||
struct BrowserInput* browserInput;
|
||||
struct Browser* overlay;
|
||||
bool skipNextLoad;
|
||||
bool loadPending;
|
||||
struct BrowserNavState* navState;
|
||||
bool newWindowHandlerSet;
|
||||
struct INewWindowHandler* newWindowHandler;
|
||||
struct DialogHandler* dialogHandler;
|
||||
struct Action* pageReplacer;
|
||||
float pageReplacerPriority;
|
||||
struct List_1_System_Action_* thingsToDoClone;
|
||||
struct Color32__Array* colorBuffer;
|
||||
};
|
||||
|
||||
struct Browser {
|
||||
struct Browser__Class* klass;
|
||||
MonitorData* monitor;
|
||||
struct Browser__Fields fields;
|
||||
};
|
||||
|
||||
#if !defined(_GHIDRA_) && !defined(_IDA_)
|
||||
}
|
||||
#endif
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include <cheat/visuals/ProfileChanger.h>
|
||||
#include <cheat/visuals/PaimonFollow.h>
|
||||
#include <cheat/visuals/HideUI.h>
|
||||
#include <cheat/visuals/Browser.h>
|
||||
|
||||
#include "GenshinCM.h"
|
||||
|
||||
@ -101,7 +102,8 @@ namespace cheat
|
||||
FEAT_INST(ChestIndicator),
|
||||
FEAT_INST(ProfileChanger),
|
||||
FEAT_INST(PaimonFollow),
|
||||
FEAT_INST(HideUI)
|
||||
FEAT_INST(HideUI),
|
||||
FEAT_INST(Browser)
|
||||
|
||||
});
|
||||
#undef FEAT_INST
|
||||
|
99
cheat-library/src/user/cheat/visuals/Browser.cpp
Normal file
99
cheat-library/src/user/cheat/visuals/Browser.cpp
Normal file
@ -0,0 +1,99 @@
|
||||
#include "pch-il2cpp.h"
|
||||
#include "Browser.h"
|
||||
|
||||
#include <helpers.h>
|
||||
#include <cheat/events.h>
|
||||
#include <misc/cpp/imgui_stdlib.h>
|
||||
|
||||
#include <cheat/esp/ESPRender.h>
|
||||
|
||||
namespace cheat::feature
|
||||
{
|
||||
app::GameObject* planeObject = nullptr;
|
||||
app::Component_1* BrowserComponents = nullptr;
|
||||
static std::string f_URL;
|
||||
|
||||
Browser::Browser() : Feature(),
|
||||
NF(f_Enabled, "Browser", "Visuals", false),
|
||||
toBeUpdate(), nextUpdate(0)
|
||||
{
|
||||
events::GameUpdateEvent += MY_METHOD_HANDLER(Browser::OnGameUpdate);
|
||||
}
|
||||
|
||||
const FeatureGUIInfo& Browser::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "Browser", "Visuals", false };
|
||||
return info;
|
||||
}
|
||||
|
||||
void Browser::DrawMain()
|
||||
{
|
||||
ConfigWidget(f_Enabled, "Create in-game Browser");
|
||||
ImGui::InputText("URL", &f_URL);
|
||||
}
|
||||
|
||||
bool Browser::NeedStatusDraw() const
|
||||
{
|
||||
return f_Enabled;
|
||||
}
|
||||
|
||||
void Browser::DrawStatus()
|
||||
{
|
||||
ImGui::Text("Browser");
|
||||
}
|
||||
|
||||
Browser& Browser::GetInstance()
|
||||
{
|
||||
static Browser instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
void Browser::OnGameUpdate()
|
||||
{
|
||||
auto currentTime = util::GetCurrentTimeMillisec();
|
||||
if (currentTime < nextUpdate)
|
||||
return;
|
||||
|
||||
if (f_Enabled) {
|
||||
if (planeObject == nullptr) {
|
||||
|
||||
auto PrimitiveType = app::PrimitiveType__Enum::Plane;
|
||||
planeObject = app::GameObject_CreatePrimitive(PrimitiveType, nullptr);
|
||||
|
||||
app::Transform* planeObject_Transform = app::GameObject_get_transform(planeObject, nullptr);
|
||||
app::Quaternion planeObject_Transform_Quaternion = { 0.5, 0.5, -0.5, 0.5};
|
||||
auto avatarPos = app::ActorUtils_GetAvatarPos(nullptr);
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(avatarPos, nullptr);
|
||||
app::Vector3 planeObject_Transform_Vector3 = { relativePos.x, relativePos.y + 3, relativePos.z };
|
||||
app::Vector3 planeObject_Transform_Scale = { 1, 1, 1};
|
||||
|
||||
app::Transform_set_localPosition(planeObject_Transform, planeObject_Transform_Vector3, nullptr);
|
||||
app::Transform_set_localScale(planeObject_Transform, planeObject_Transform_Scale, nullptr);
|
||||
app::Transform_set_localRotation(planeObject_Transform, planeObject_Transform_Quaternion, nullptr);
|
||||
}
|
||||
|
||||
if (planeObject != nullptr) {
|
||||
if (BrowserComponents == nullptr) {
|
||||
std::string custom_url = f_URL.length() < 2 || f_URL.c_str() == "" ? "https://www.google.com/" : f_URL.c_str();
|
||||
|
||||
BrowserComponents = app::GameObject_AddComponentInternal(planeObject, string_to_il2cppi("Browser"), nullptr);
|
||||
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._url = string_to_il2cppi(custom_url);
|
||||
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._width = 1920;
|
||||
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._height = 1080;
|
||||
reinterpret_cast<app::Browser*>(BrowserComponents)->fields.forceNextRender = true;
|
||||
reinterpret_cast<app::Browser*>(BrowserComponents)->fields._EnableInput_k__BackingField = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (planeObject != nullptr && BrowserComponents != nullptr)
|
||||
{
|
||||
app::Object_1_DestroyImmediate_1(reinterpret_cast<app::Object_1*>(planeObject), nullptr);
|
||||
app::Object_1_DestroyImmediate_1(reinterpret_cast<app::Object_1*>(BrowserComponents), nullptr);
|
||||
planeObject = nullptr;
|
||||
BrowserComponents = nullptr;
|
||||
}
|
||||
}
|
||||
nextUpdate = currentTime + (int)f_DelayUpdate;
|
||||
}
|
||||
}
|
26
cheat-library/src/user/cheat/visuals/Browser.h
Normal file
26
cheat-library/src/user/cheat/visuals/Browser.h
Normal file
@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
#include <cheat-base/cheat/Feature.h>
|
||||
#include <cheat-base/config/config.h>
|
||||
#include <cheat-base/thread-safe.h>
|
||||
|
||||
namespace cheat::feature
|
||||
{
|
||||
class Browser : public Feature
|
||||
{
|
||||
public:
|
||||
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
||||
|
||||
static Browser& GetInstance();
|
||||
const FeatureGUIInfo& GetGUIInfo() const override;
|
||||
void DrawMain() override;
|
||||
virtual bool NeedStatusDraw() const override;
|
||||
void DrawStatus() override;
|
||||
|
||||
private:
|
||||
SafeQueue<uint32_t> toBeUpdate;
|
||||
SafeValue<int64_t> nextUpdate;
|
||||
int f_DelayUpdate = 20.f;
|
||||
void OnGameUpdate();
|
||||
Browser();
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user