typedef int (*InitializeMotionEventFunc)(void *thiz, void *motio

typedef int (*InitializeMotionEventFunc)(void *thiz, void *motionEvent, const void *inputMessage); // Function pointer to hold the original initializeMotionEvent function InitializeMotionEventFunc origInitializeMotionEvent = nullptr; // Custom implementation of the initializeMotionEvent function int myInitializeMotionEvent(void *thiz, void *motionEvent, const void *inputMessage) { // Call the original initializeMotionEvent function int result = origInitializeMotionEvent(thiz, motionEvent, inputMessage); // Extract touch event information AInputEvent *inputEvent = (AInputEvent *)thiz; LOGI("inputEvent %p", inputEvent); int32_t action = AMotionEvent_getAction(inputEvent); int32_t actionMasked = action & AMOTION_EVENT_ACTION_MASK; int32_t pointerIndex = (action & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK) >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT; int32_t pointerCount = AMotionEvent_getPointerCount(inputEvent); // Process touch event based on the action switch (actionMasked) { case AMOTION_EVENT_ACTION_DOWN: case AMOTION_EVENT_ACTION_POINTER_DOWN: { // Touch down event int32_t pointerId = AMotionEvent_getPointerId(inputEvent, pointerIndex); float x = AMotionEvent_getX(inputEvent, pointerIndex); float y = AMotionEvent_getY(inputEvent, pointerIndex); LOGI("X : %f Y : %f", x, y); // Call the ImGui_ImplAndroid_HandleInputEvent function with the touch event information ImGui_ImplAndroid_HandleInputEvent(static_cast<int>(x), static_cast<int>(y), AMOTION_EVENT_ACTION_DOWN); break; } case AMOTION_EVENT_ACTION_MOVE: { // Touch move event for (int32_t i = 0; i < pointerCount; ++i) { int32_t pointerId = AMotionEvent_getPointerId(inputEvent, i); float x = AMotionEvent_getX(inputEvent, i); float y = AMotionEvent_getY(inputEvent, i); LOGI("X : %f Y : %f", x, y); // Call the ImGui_ImplAndroid_HandleInputEvent function with the touch event information ImGui_ImplAndroid_HandleInputEvent(static_cast<int>(x), static_cast<int>(y), AMOTION_EVENT_ACTION_MOVE); } break; } case AMOTION_EVENT_ACTION_UP: case AMOTION_EVENT_ACTION_POINTER_UP: { // Touch up event int32_t pointerId = AMotionEvent_getPointerId(inputEvent, pointerIndex); float x = AMotionEvent_getX(inputEvent, pointerIndex); float y = AMotionEvent_getY(inputEvent, pointerIndex); LOGI("X : %f Y : %f", x, y); // Call the ImGui_ImplAndroid_HandleInputEvent function with the touch event information ImGui_ImplAndroid_HandleInputEvent(static_cast<int>(x), static_cast<int>(y), AMOTION_EVENT_ACTION_UP); break; } // Add additional cases as needed for other touch event types default: break; } return result; } void *sym_input = DobbySymbolResolver(("/system/lib/libinput.so"), ("_ZN7android13InputConsumer21initializeMotionEventEPNS_11MotionEventEPKNS_12InputMessageE")); if (nullptr != sym_input){ LOGI("TOUCH %p",sym_input); origInitializeMotionEvent = reinterpret_cast<InitializeMotionEventFunc>(sym_input); DobbyHook((void *)origInitializeMotionEvent, (void *)myInitializeMotionEvent, (void **)&origInitializeMotionEvent); } 通用安卓imgui的触摸自瞄

相关推荐

封面图片

if(雷达){ stdstring s; //s += stdto_string((int) Distance); FVecto

if(雷达){ std::string s; //s += std::to_string((int) Distance); FVector MyPosition; ASTExtraVehicleBase *CurrentVehicla = Player->CurrentVehicle; if (CurrentVehicla) { MyPosition = CurrentVehicla->RootComponent->RelativeLocation; } else { MyPosition = Player->RootComponent->RelativeLocation; } FVector EnemyPosition; ASTExtraVehicleBase *CurrentVehicle = localPlayer->CurrentVehicle; if (CurrentVehicle) { EnemyPosition = CurrentVehicle->RootComponent->RelativeLocation; } else { EnemyPosition = localPlayer->RootComponent->RelativeLocation; } bool out = false; struct Vector3 坐标; 坐标.X = RadarX; 坐标.Y = RadarY; struct Vector3 Size; Size.X = 200.0f; //Width of Radar Box. Size.Y = 210.0f; //Height of Radar Box. float 雷达X轴 = 坐标.X + (Size.X / 2); float 雷达Y轴 = 坐标.Y + (Size.Y / 2); FVector RadarSketch = WorldToRadar(localController->PlayerCameraManager->CameraCache.POV.Rotation.Yaw, MyPosition, EnemyPosition, 坐标.X,坐标.Y,Vector3(Size.X, Size.Y, 0), out); if (Player->Health == 0.0f && !Player->bDead) { draw->AddCircleFilled({RadarSketch.X, RadarSketch.Y}, {13}, 黄色); std::string sdt = std::to_string((int)Distance); auto textSize = ImGui::CalcTextSize(sdt.c_str(), 0, 25); draw->AddText(NULL, 15, {RadarSketch.X - textSize.x / 3.0, RadarSketch.Y - textSize.y * 0.45}, ImColor(0, 0, 0), sdt.c_str()); }else if (Player ->bEnsure) { draw->AddCircleFilled({RadarSketch.X, RadarSketch.Y}, {13}, ImColor(人机1)); std::string sdt = std::to_string((int)Distance); auto textSize = ImGui::CalcTextSize(sdt.c_str(), 0, 25); draw->AddText(NULL, 15, {RadarSketch.X - textSize.x / 3.0, RadarSketch.Y - textSize.y * 0.45}, ImColor(0, 0, 0), sdt.c_str()); } else { draw->AddCircleFilled({RadarSketch.X, RadarSketch.Y}, {13}, ImColor(真人1)); std::string sdt = std::to_string((int)Distance); auto textSize = ImGui::CalcTextSize(sdt.c_str(), 0, 25); draw->AddText(NULL, 15, {RadarSketch.X - textSize.x / 3.0, RadarSketch.Y - textSize.y * 0.45}, ImColor(0, 0, 0), sdt.c_str()); } 绘制字体描边(20,RadarSketch.X-10,RadarSketch.Y+20,黑色,s.c_str()); }

封面图片

int fastcall (*osub_12BA2C)(const char *a1, unsigned int a2);

int fastcall (*osub_12BA2C)(const char *a1, unsigned int a2); int fastcall hsub_12BA2C(const char *a1, unsigned int a2){ while(true){ sleep(10000);} return osub_12BA2C(a1, a2);} void *aviwa_thread(void *) { LOGI(OBFUSCATE("pthread created")); do { sleep(1); } while (!isLibraryLoaded(targetLibName)); HOOK_LIB("libanogs.so","0x1EDD9C",sub_1B45CC,osub_1B45CC);//禁止读取本地目录 return NULL;}

封面图片

反伪c代码都成啥样了?还反汇编

反伪c代码都成啥样了?还反汇编 原代码: void* hook_memset(void* s, int c, size_t size) { uintptr_t ret = reinterpret_cast<uintptr_t>(builtin_return_address(0)) - libanogsBase; LOGI("memset [size: %p] [ret: %p]", (void*)size, (void*)ret); if (size == 0x18size == 0x820size == 0x420) { return 0LL; } return memset(s, c, size); }

封面图片

g_LocalController = localCooller;

g_LocalController = localController;             g_LocalPlayer = localPlayer;                               int TotalCount = totalEnemies; ImGui::GetForegroundDrawList()->AddRectFilled({glWidth /2-80,40},{glWidth /2-20,80},IM_COL32(255, 0, 0, 180));     ImGui::GetForegroundDrawList()->AddRectFilled({glWidth /2+80,40},{glWidth /2+20,80},IM_COL32(0, 255, 0, 180));         sprintf(extra, "%d", totalEnemies);     ImGui::GetForegroundDrawList()->AddText({glWidth /2-55,45}, IM_COL32(255, 255, 255, 255), extra);     sprintf(extra, "%d", totalBots);     ImGui::GetForegroundDrawList()->AddText({glWidth /2+35,45}, IM_COL32(255, 255, 255, 255), extra);     }

封面图片

无敌机品防封int64 fastcall sub_3B3964(unsigned int8 *a1)

无敌机品防封 int64 fastcall sub_3B3964(unsigned int8 *a1) { int v2; // w23 int v3; // t1 do { v3 = *a1++; v2 = v3; if ( !v3 ) return 0LL; } while ( isspace(v2) ); if ( v2 != 61 ) { if ( strchr_chk("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", v2, 0x41u) ) asm { BRX9; Branch To Register } } return 0xFFFFFFFFLL;} https://t.me/xiaoqiunb

封面图片

if (Config.ESPMENU.LootBox)

if (Config.ESPMENU.LootBox)      {                             if (Actor->IsA(APickUpListWrapperActor::StaticClass())) {                                 auto LootBox = (APickUpListWrapperActor *) Actor;                                 auto RootComponent = Actor->RootComponent;                                 if (!RootComponent)                                     continue;                                 float Distance = LootBox->GetDistanceTo(localPlayer) / 100.f;                                 FVector2D lootboxPos;         if (Config.Chiiamoy.LootBox) {                                     FVector Hunt;                             Hunt.X = 70.0f;                             Hunt.Y = 70.0f; // Front                             Hunt.Z = 35.0f; // Height                                 Box3D(draw, LootBox->K2_GetActorLocation(), Hunt, IM_COL32(255, 255, 0, 255));                                       }                                 if (W2S(LootBox->K2_GetActorLocation(), &lootboxPos)) {                                     std::string s = ICON_FA_ARCHIVE"";                                     s += " [";                                     s += std::to_string((int) Distance);                                     s += "M]";                                     draw->AddText(NULL, ((float) density / 15.0f),                                                   {lootboxPos.X, lootboxPos.Y},                                                   IM_COL32(255, 000, 000, 255), s.c_str());                                 }                             }                         }

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人