查看: 669|回复: 3

[其他发布] OneTap V2解析器源码(反编译结果)

[复制链接]
发表于 2020-8-22 10:54 | 显示全部楼层 |阅读模式
非法程序、 2020-8-22 10:54 669 3 显示全部楼层
V2解析器源码:
如果有人说V2没解析请把这个帖子发给他
  1. //提取 By ExtremeBlackLiu
  2. //代码段(伪代码,C++):
  3. //---------------------------------------------------------------
  4. int *__userpurge OneTap::Utils::ResolvePlayersVector@<eax>(int a1@<edi>, int LocalPlayer_3@<esi>, double weaponType@<st0>, int *a3)
  5. {
  6.   int *PlayerInstance; // ecx
  7.   int v5; // ST2C_4
  8.   int *LocalPlayer; // esi
  9.   void (__userpurge *v7)(int, int, double@<st0>); // eax
  10.   int (__stdcall *v8)(int); // eax
  11.   int v9; // edx
  12.   int v10; // eax
  13.   int m_vecOrigin; // esi
  14.   int m_vecViewOffset; // eax
  15.   float v13; // xmm2_4
  16.   float v14; // xmm0_4
  17.   float v15; // ST60_4
  18.   void (__stdcall *v16)(float *); // eax
  19.   float v17; // ST44_4
  20.   float v18; // ST4C_4
  21.   float v19; // ST44_4
  22.   int *LocalPlayer_1; // esi
  23.   float v21; // xmm3_4
  24.   void (*PlayerInstance_1)(void); // eax
  25.   int (__stdcall *LocalPlayer_2)(int); // eax
  26.   int v24; // edx
  27.   int v25; // eax
  28.   float *v26; // ecx
  29.   int m_bGunGameImmunity; // eax
  30.   _BYTE *m_pPlayer; // esi MAPDST
  31.   float v29; // xmm1_4
  32.   int *iteration_player; // edx
  33.   int player_vec_end_1; // eax
  34.   int player; // edi
  35.   int v33; // eax
  36.   int v34; // eax
  37.   char *v35; // esi
  38.   signed int v36; // edi
  39.   int v37; // edi
  40.   signed int v38; // esi
  41.   int v39; // ecx
  42.   char *v40; // esi
  43.   float v41; // xmm0_4
  44.   int *v42; // ecx
  45.   float v43; // ST58_4
  46.   int v44; // ST24_4
  47.   int v45; // ST28_4
  48.   int v46; // ST2C_4
  49.   int v47; // ST18_4
  50.   int v48; // ST1C_4
  51.   int v49; // ST20_4
  52.   int player_vec_start; // [esp+3Ch] [ebp-744h]
  53.   int player_vec_end; // [esp+40h] [ebp-740h]
  54.   int v53; // [esp+44h] [ebp-73Ch]
  55.   int v54; // [esp+44h] [ebp-73Ch]
  56.   char *v55; // [esp+48h] [ebp-738h]
  57.   int v56; // [esp+48h] [ebp-738h]
  58.   float v57; // [esp+4Ch] [ebp-734h]
  59.   float v58; // [esp+60h] [ebp-720h]
  60.   float v59; // [esp+64h] [ebp-71Ch]
  61.   int v60; // [esp+68h] [ebp-718h]
  62.   int v61; // [esp+6Ch] [ebp-714h]
  63.   float v62; // [esp+70h] [ebp-710h]
  64.   float v63; // [esp+74h] [ebp-70Ch]
  65.   float v64; // [esp+78h] [ebp-708h]
  66.   float v65; // [esp+7Ch] [ebp-704h]
  67.   float v66; // [esp+80h] [ebp-700h]
  68.   float v67; // [esp+84h] [ebp-6FCh]
  69.   float v68; // [esp+88h] [ebp-6F8h]
  70.   float v69; // [esp+8Ch] [ebp-6F4h]
  71.   float v70; // [esp+90h] [ebp-6F0h]
  72.   int (__stdcall **v71)(int, int); // [esp+94h] [ebp-6ECh]
  73.   int v72; // [esp+98h] [ebp-6E8h]
  74.   int v73; // [esp+9Ch] [ebp-6E4h]
  75.   int v74; // [esp+A0h] [ebp-6E0h]
  76.   int v75; // [esp+A4h] [ebp-6DCh]
  77.   int v76; // [esp+A8h] [ebp-6D8h]
  78.   int v77; // [esp+ACh] [ebp-6D4h]
  79.   int v78; // [esp+B0h] [ebp-6D0h]
  80.   int v79; // [esp+B4h] [ebp-6CCh]
  81.   int v80; // [esp+B8h] [ebp-6C8h]
  82.   int v81; // [esp+BCh] [ebp-6C4h]
  83.   int v82; // [esp+C0h] [ebp-6C0h]
  84.   char v84; // [esp+F8h] [ebp-688h]
  85.   char v85; // [esp+148h] [ebp-638h]
  86.   char v86; // [esp+164h] [ebp-61Ch]

  87.   PlayerInstance = OneTap::Globals::EngineClient;
  88.   v5 = LocalPlayer_3;
  89.   LocalPlayer = Onetap::Globals::ILocalPlayer;
  90.   *a3 = 0;
  91.   a3[2] = 0;
  92.   a3[1] = 0;
  93.   v7 = C_SDK::Utils::CallVirtualFunction(PlayerInstance, 12);
  94.   v7(a1, v5, weaponType);
  95.   v8 = C_SDK::Valve::CallEngineState(LocalPlayer);
  96.   v10 = v8(v9);
  97.   m_vecOrigin = C_SDK::NetVars::m_vecOrigin;
  98.   v53 = v10;
  99.   if ( !C_SDK::NetVars::m_vecOrigin )
  100.   {
  101.     m_vecOrigin = C_SDK::Security::GetVariableFromClassWithFNV(0x1EEE87CC, 0x559D81AF);
  102.     C_SDK::NetVars::m_vecOrigin = m_vecOrigin;
  103.   }
  104.   m_vecViewOffset = C_SDK::NetVars::m_vecViewOffset;
  105.   if ( !C_SDK::NetVars::m_vecViewOffset )
  106.   {
  107.     m_vecViewOffset = C_SDK::Security::GetVariableFromClassWithFNV(0x4E9F1122, 0x4CDD3467);
  108.     C_SDK::NetVars::m_vecViewOffset = m_vecViewOffset;
  109.   }
  110.   v13 = *(v53 + m_vecOrigin + 8) + *(v53 + m_vecViewOffset + 8);
  111.   v14 = *(v53 + m_vecViewOffset) + *(v53 + m_vecOrigin);
  112.   v69 = *(v53 + m_vecOrigin + 4) + *(v53 + m_vecViewOffset + 4);
  113.   v15 = v69;
  114.   v68 = v14;
  115.   v70 = v13;
  116.   v60 = 0;
  117.   v59 = 0.0;
  118.   v58 = 0.0;
  119.   v16 = sub_43DD5700(OneTap::Globals::EngineClient);
  120.   v16(&v58);
  121.   v17 = *&dword_44732F24 + v58;
  122.   v18 = (*&dword_44732F28 + v59) * *&dword_43F408B0;
  123.   sub_43F1CDAB();
  124.   sub_43F1CD99();
  125.   v19 = v17 * *&dword_43F408B0;
  126.   sub_43F1CDAB();
  127.   sub_43F1CD99();
  128.   LocalPlayer_1 = Onetap::Globals::ILocalPlayer;
  129.   v21 = COERCE_FLOAT(LODWORD(v19) ^ xmmword_43F42180) * *&dword_43F40B7C;
  130.   v62 = v14 + ((v19 * v18) * *&dword_43F40B7C);
  131.   v63 = v15 + ((v19 * v18) * *&dword_43F40B7C);
  132.   v64 = v13 + v21;
  133.   v65 = v14 + ((v19 * v18) * *&dword_43F40B7C);
  134.   v66 = v15 + ((v19 * v18) * *&dword_43F40B7C);
  135.   v67 = v13 + v21;
  136.   PlayerInstance_1 = C_SDK::Utils::CallVirtualFunction(OneTap::Globals::EngineClient, 12);
  137.   PlayerInstance_1();
  138.   LocalPlayer_2 = C_SDK::Valve::CallEngineState(LocalPlayer_1);
  139.   v25 = LocalPlayer_2(v24);
  140.   v71 = &off_43F1FB30;
  141.   v72 = v25;
  142.   v73 = 0;
  143.   v76 = 0;
  144.   v75 = 0;
  145.   v74 = 0;
  146.   v79 = 0;
  147.   v78 = 0;
  148.   v77 = 0;
  149.   v82 = 0;
  150.   v81 = 0;
  151.   v80 = 0;
  152.   sub_43DD5870(&v84);
  153.   sub_43DD5770(v26, &v68, &v65);
  154.   (*(*dword_43F45138 + 20))(&v84, 0x4600400B, &v71, &v74);
  155.   if ( !m_pPlayer || !C_SDK::Player::IsPlayer(m_pPlayer) || !C_SDK::Player::IsAlive(m_pPlayer) || m_pPlayer[0xED] )
  156.     goto LABEL_54;
  157.   if ( !C_SDK::Player::IsInTeam(m_pPlayer) )
  158.   {
  159.     m_bGunGameImmunity = C_SDK::NetVars::m_bGunGameImmunity;
  160.     if ( !C_SDK::NetVars::m_bGunGameImmunity )
  161.     {
  162.       m_bGunGameImmunity = C_SDK::Security::GetVariableFromClassWithFNV(0x72E242A1, 0x9C15080D);
  163.       C_SDK::NetVars::m_bGunGameImmunity = m_bGunGameImmunity;
  164.     }
  165.     if ( !m_pPlayer[m_bGunGameImmunity] )
  166.     {
  167. LABEL_54:
  168.       if ( byte_447176E0[C_SDK::Player::GetWeaponType()] )
  169.       {
  170.         v29 = dword_447176FC[C_SDK::Player::GetWeaponType()] / *&dword_43F40B6C;
  171.         v57 = v29;
  172.       }
  173.       else
  174.       {
  175.         v29 = 0.0;
  176.       }
  177.       if ( byte_44719A0C )
  178.         v57 = v29 + v29;
  179.       iteration_player = OneTap::Globals::PlayersVectorStart;
  180.       player_vec_start = OneTap::Globals::PlayersVectorStart;
  181.       player_vec_end = OneTap::Globals::PlayersVectorEnd;
  182.       if ( OneTap::Globals::PlayersVectorStart != OneTap::Globals::PlayersVectorEnd )
  183.       {
  184.         player_vec_end_1 = OneTap::Globals::PlayersVectorEnd;
  185.         while ( 1 )
  186.         {
  187.           player = *iteration_player;
  188.           v61 = player;
  189.           if ( !player )
  190.           {
  191.             v42 = a3;
  192.             goto NEXT_PLAYER;
  193.           }
  194.           if ( !C_SDK::NetVars::m_lifeState )
  195.           {
  196.             v33 = C_SDK::Security::GetVariableFromClassWithFNV(0x4E9F1122, 0x1C93BCF0);
  197.             iteration_player = player_vec_start;
  198.             C_SDK::NetVars::m_lifeState = v33;
  199.           }
  200.           if ( *(C_SDK::NetVars::m_lifeState + player) )
  201.             goto LABEL_46;
  202.           if ( !C_SDK::NetVars::m_iHealth )
  203.             C_SDK::NetVars::m_iHealth = C_SDK::Security::GetVariableFromClassWithFNV(0x4E9F1122, 0x84CDAD2);
  204.           if ( *(C_SDK::NetVars::m_iHealth + player) <= 0 || *(player + 237) )
  205.             goto RE_UPDATE_VALUE;
  206.           if ( !C_SDK::NetVars::m_bGunGameImmunity )
  207.             C_SDK::NetVars::m_bGunGameImmunity = C_SDK::Security::GetVariableFromClassWithFNV(0x72E242A1, 0x9C15080D);
  208.           if ( *(C_SDK::NetVars::m_bGunGameImmunity + player)
  209.             || C_SDK::Player::IsInTeam(player)
  210.             || !byte_44732F3C[8 * *(player + 0x64)]
  211.             || (weaponType = OneTap::Utils::ProcessedVectors(weaponType, player, &v58, &dword_44732F24, v57),
  212.                 (v54 = v34) == 0) )
  213.           {
  214. RE_UPDATE_VALUE:
  215.             iteration_player = player_vec_start;
  216. LABEL_46:
  217.             v42 = a3;
  218.             goto MAYBE_END;
  219.           }
  220.           v35 = &v85;
  221.           v36 = 19;
  222.           do
  223.           {
  224.             sub_43E0A260(v35);
  225.             v35 += 84;
  226.             --v36;
  227.           }
  228.           while ( v36 );
  229.           v37 = v61;
  230.           v38 = 0;
  231.           v39 = v54 + 128;
  232.           v55 = &v85;
  233.           do
  234.           {
  235.             sub_43E08F00(v37, v39, v38++);
  236.             v39 = v54 + 128;
  237.             v55 += 84;
  238.           }
  239.           while ( v38 < 19 );
  240.           v56 = 0;
  241.           v40 = &v86;
  242.           while ( *(v40 - 24) )
  243.           {
  244.             if ( sub_43F0A300(&v68, &v65, v40 - 20, v40 - 8, v40 + 8) )
  245.               goto LABEL_41;
  246. LABEL_44:
  247.             v40 += 84;
  248.             if ( ++v56 >= 19 )
  249.               goto RE_UPDATE_VALUE;
  250.           }
  251.           v43 = *(v40 + 1);
  252.           v44 = *(v40 - 2);
  253.           v45 = *(v40 - 1);
  254.           v46 = *v40;
  255.           v47 = *(v40 - 5);
  256.           v48 = *(v40 - 4);
  257.           v49 = *(v40 - 3);
  258.           sub_43F0A040();
  259.           if ( v43 <= v13 )
  260.             goto LABEL_44;
  261. LABEL_41:
  262.           LODWORD(v41) = COERCE_UNSIGNED_INT64(sub_43F146F0(&v65, &v85, 2));
  263.           v42 = a3;
  264.           iteration_player = player_vec_start;
  265.           if ( v41 > *(a3 + 1) )
  266.           {
  267.             *a3 = v37;
  268.             *(a3 + 1) = v41;
  269.             a3[2] = *(v54 + 16);
  270.           }
  271. MAYBE_END:
  272.           player_vec_end_1 = player_vec_end;
  273. NEXT_PLAYER:
  274.           ++iteration_player;
  275.           player_vec_start = iteration_player;
  276.           if ( iteration_player == player_vec_end_1 )
  277.             return v42;
  278.         }
  279.       }
  280.     }
  281.   }
  282.   return a3;
  283. }
复制代码


发表于 2020-8-22 11:10 | 显示全部楼层
331617 2020-8-22 11:10 显示全部楼层
啊 看不懂...
回复

使用道具 举报

发表于 2020-8-22 14:46 | 显示全部楼层
Crop233 2020-8-22 14:46 显示全部楼层
楼主好人一生平安
回复

使用道具 举报

发表于 2021-3-3 00:00 | 显示全部楼层
11111111111111111111111111111111111
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表