- UID
- 143366
- 閱讀權限
- 10
- 主題
- 1
- 帖子
- 18
- 精華
- 0
- A幣
- 0
- 在線時間
- 7 小時
- 最後登錄
- 2024-8-18
集團新軍
- 主題
- 1
- 帖子
- 18
- 精華
- 0
- 綜合社群主題發文量
- 0
- 電玩社群主題發文量
- 0
- 娛樂社群主題發文量
- 0
- 技術社群主題發文量
- 1
- 閱讀權限
- 10
- 註冊時間
- 2024-7-31
TA的每日心情 | 開心 2024-8-1 16:52 |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到
|
本帖最後由 petje 於 2024-8-1 16:03 編輯
大概像這樣
- void __thiscall sub_46DE10(_DWORD *this, void *a2)
- {
- int *v3; // ecx
- int v4; // edi
- signed int v5; // eax
- signed int v6; // eax
- int *v7; // eax
- void *v8; // ecx
- int v9; // [esp-18h] [ebp-54h]
- int *v10; // [esp-14h] [ebp-50h] BYREF
- void *v11; // [esp-10h] [ebp-4Ch]
- void *v12; // [esp-Ch] [ebp-48h] BYREF
- int v13; // [esp-8h] [ebp-44h]
- int *v14; // [esp-4h] [ebp-40h]
- unsigned int v15; // [esp+Ch] [ebp-30h] BYREF
- int v16; // [esp+10h] [ebp-2Ch] BYREF
- char v17[4]; // [esp+18h] [ebp-24h] BYREF
- int v18; // [esp+1Ch] [ebp-20h]
- void **v19; // [esp+20h] [ebp-1Ch]
- char v20[4]; // [esp+24h] [ebp-18h] BYREF
- int v21; // [esp+28h] [ebp-14h] BYREF
- int v22; // [esp+2Ch] [ebp-10h] BYREF
- int v23; // [esp+38h] [ebp-4h]
- if ( !this[6] )
- {
- sub_A41F94(v17, a2);
- v4 = v18;
- v23 = 0;
- if ( !v18 )
- {
- v23 = -1;
- sub_474C50(v17);
- return;
- }
- v22 = 0;
- if ( *(_DWORD *)(v18 + 32) )
- {
- v5 = ZtlSecureFuse((int)(this + 7), this[9]);
- if ( v5 >= *(_DWORD *)(v18 + 32) )
- v22 |= 1u;
- v6 = ZtlSecureFuse((int)(this + 10), this[12]);
- v4 = v18;
- v3 = v14;
- if ( v6 >= *(_DWORD *)(v18 + 32) )
- v22 |= 2u;
- if ( !v22 )
- {
- v14 = 0;
- v13 = 0;
- v12 = 0;
- v11 = 0;
- v10 = v3;
- v9 = 392;
- goto LABEL_8;
- }
- }
- else
- {
- v22 = 2;
- }
- if ( (int)this[288] < 15 )
- {
- v21 = 0;
- LOBYTE(v23) = 1;
- StringPool::GetInstance();
- v7 = (int *)sub_40652B(v20, 366);
- v14 = *(int **)(v4 + 32);
- v13 = *v7;
- LOBYTE(v23) = 2;
- sub_4469F4(&v21, (const char *)v13, v14);
- LOBYTE(v23) = 1;
- sub_4063B5(v20);
- v14 = &v22;
- v13 = 3;
- v12 = v8;
- v19 = &v12;
- sub_429FA9(&v21);
- if ( CConfirmPurchaseDlg::Confirm_0((char)v12, v13, v14) == 1 )
- {
- COutPacket::COutPacket_0(&v15, 230);
- LOBYTE(v23) = 3;
- sub_40661F(&v15, 8);
- sub_40661F(&v15, v22 == 2);
- sub_40667C(a2);
- self_CClientSocket__SendPacket((_DWORD *)dword_BED27C, (int)&v15);
- this[6] = 1;
- LOBYTE(v23) = 1;
- sub_42AA52(&v16);
- }
- LOBYTE(v23) = 0;
- sub_4063B5(&v21);
- goto LABEL_18;
- }
- v14 = 0;
- v13 = 0;
- v12 = 0;
- v11 = 0;
- v10 = v3;
- v9 = 370;
- LABEL_8:
- StringPool::GetInstance();
- sub_40652B(&v10, v9);
- sub_9B2F6F((char)v10, v11, v12, v13, v14);
- LABEL_18:
- v23 = -1;
- if ( v18 )
- sub_474F26(0);
- }
- }
複製代碼
&v15是第一次出現就出現在COutPacket_0
sub_40661F 裡面是很簡單的 像是在操作&v15前3個byte的邏輯,或者是EnlargeBuffer,沒看到相關的設置封包的操作
|
-
|