mortalbotec

[SKEET CRACK FIX] set_panoramaui_cursor_option.h

Jul 21st, 2021
1,624
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void __fastcall Panorama::SetCursorOption(int x, int y, bool allow_cursor, bool freeze_cursor) {
  2.     // create vectors for cursor position
  3.     vec3_t currently_pos = Vector2D::Create(x, y);
  4.     vec3_t precache_pos = Vector2D::Create(x / currently_pos.x, y / currently_pos.y);
  5.  
  6.     // anti-crash #1
  7.     if (precache_pos.x == currently_pos.y && currently_pos.x > 15384 - currently_pos.x) {
  8.         precache_pos = precache_pos->PrepatchDisplayRatioToInt32(15384 - precache_pos.x, precache_pos);
  9.         precache_pos = precache_pos->PushDisplayDataFromInt32(precache_pos.x, precache_pos.y);
  10.     }
  11.  
  12.     // get screen size
  13.     static screen_size = Panorama::GetDisplayRatio();
  14.  
  15.     // if game was hidden
  16.     if (!screen_size || screen_size.x <= 0)
  17.         return;
  18.  
  19.     // get monitor ratio & long32_t -> int
  20.     uint32_t char display_level_char32 = screen_size->GetDisplayDataByChar32_Argument(STR_DECP(XOR("epatch_MonitorRatio0"), nullptr), screen_size.x * screen_size.y);
  21.     uint32_t display = Utils::MovModuleBySection(WINAPI_ME->GetFunctionHandleA(display_level_char32, { long }), { int, int }, { screen_size.x, screen_size.y });
  22.  
  23.     if (!display.OperationMismatch) {
  24.         // like driver settings to csgo
  25.         display = display[ 2 ][ 7 ]->OverlappedMemoryTarget(("client.dll", DWORD("csgo")), "00 ?? ?? 01 E8 ?? 00 00 00 AA BB C5 00 ?? ?? 01", { long, long }, { int, int });
  26.         display = display[ 1 ][ 0 ][ /* 2 + 7 */ 5 ];
  27.  
  28.         if (display != nullptr) {
  29.             // anti-crash #2
  30.             long32_to_int = display[5]->LongToNum('{long32}
  31.            ( long[0], uint32_t[1] ), int[2]', uint32_t, { long long, int });
  32.  
  33.             x = long32_to_int(currently_pos.x); y = long32_to_int(currently_pos.y);
  34.  
  35.             // finally func
  36.             display = Panorama::EraseCallByHandler32("${//panoramaui}.Directory", L"${js_api->call(Class.CursorOption[1]" .. (x, y,
  37.             allow_cursor, freeze_cursor) .. ")}");
  38.         }
  39.     }
  40. }
  41.  
  42. //  ______________________________________
  43. // /                                      \
  44. // |  CHERRY IDA VIEWER - VERSION 5.3.7   |
  45. // |  CRACKED BY ZENIDA, T32              |
  46. // |                                      |
  47. // |  PLUGIN STATUS - OUTDATED            |
  48. // |  SIG_ID = 9847FF0  |  HW_ID = ****   |
  49. // \______________________________________/
  50. //
  51.  
  52. // LIKE IDA
  53.  
  54. /*
  55. v1 = Panorama
  56. v2 = SetCursorOption
  57. v4 = x
  58. v5 = y
  59. v6 = allow cursor
  60. v7 = freeze cursor
  61. v8 = vector
  62. v9 = cur pos
  63. v10 = cache pos
  64. v11 = vector2d
  65. */
  66.  
  67. // string12 = /*{ " c T l A O 2 i C 0 6 e B B 1 n D 0 5 t R O I K . X X d X 0 l X 3 l X 7 7 " }*/// L"client.dll"
  68. // string78 = /*{ " C S G O " } */ //L"csgo"
  69. // string6 => [ string22 = L"0F 11 05 ?? ?? ?? ?? 83 C8 01 00 00 2B ??" ] -- old pattern
  70.  
  71. // "00 ?? ?? 01 E8 ?? 00 00 00 AA BB C5 00 ?? ?? 01" -- new pattern
  72. /*
  73.                       -- Symbol table --
  74.    [A] = stx["0001_BYTENV", 8]
  75.    [B] = stx_meta["0008_BYTENV", 16]
  76.    [D] = stx_meta["0016_BYTENV", 16]
  77.    [C] = stx_meta["0032_BYTENV", 16]
  78.    [G] = stx_nav["24_BYTENV", 128]
  79.    [I] = stx_nav["8_BYTENV", 128]
  80.    [1] = stx_bit["1", 1]
  81.    [2] = stx_bit["2", 1]
  82.    [3] = stx_bit["3", 1]
  83.    [?] = stx_env_unsigned["BYTENV_META", "00512_BYTE", 1024]
  84.  
  85.  
  86.                      -- Paragmal logic --
  87.    string22 = (string22 / [?] - [1]) * ((string22 / [A]) - (string22 + [C]) * ([?] + 1))
  88.    00 = [A] + [A] + [?] + [1]
  89.    ?? = [C] - [D] + [2] + [?]
  90.    01 = [B] + [B] + [?] + [1] (- [A])
  91.    E8 = [D] - [A] - [?] + [2] + [1] + [G]
  92.    AA = [A] + [1]
  93.    BB = [A] - [D] + [1]
  94.    C5 = [A] - [B] + [?] + [2] + [1] + [B]
  95.  
  96.    write_me(stx[(a_stx,a_stx,) + (int __asm { *point_ff })])              -- Like google
  97.    int __asm {
  98.        mov + 1
  99.        ecx, (
  100.            esp[0], edx
  101.            edx, edx + 5
  102.            addr, (
  103.                __write()[] { return point_ff; } {
  104.                    a_stx,b_stx,
  105.                    c_stx,d_stx,
  106.                    i_stx,g_stx, / /
  107.                    num_stx,un_stx,
  108.                    null_stx,stx /
  109.                } { * };
  110.            );
  111.        );
  112.    };
  113. /*
  114.  
  115.     -- Function after asm operation
  116.     if (!unk24.unk171) {
  117.         // like driver settings to csgo
  118.         unk24 = unk24[ 9 ][ 15 ]->unk57((string12, DWORD['0\\x01'](string78)), string22, { long, long }, { int, int });
  119.         unk24 = unk24[ 1 ][ 0 ][ 24 ];                                                                 -- [ 9 + 15 ]--
  120.  
  121.     /*    if (unk24 != nullptr) {
  122.             // anti-crash #2
  123.             unk11 = unk24[5]->unk98(string37, uint32_t, { long long, int });
  124.  
  125.             // X, Y
  126.             [['                                                      [['
  127.            
  128.            
  129.            
  130.            
  131.            
  132.                                HIDDEN_CODE_BY_UNK0
  133.                                    LIKE WATCH?
  134.            
  135.            
  136.            
  137.            
  138.             ']]                                                      ']]
  139.  
  140.             // finally func
  141.             unk24 = ['?\\x07']::unk40(string15);
  142.         }
  143.     } */
  144. /**/
RAW Paste Data