回應洋蔥分析文之我也來分析

※這是TWMS146.1的位置 TWMS146.1 取得最大經驗值位置分析 洋蔥文章原文網址:按我

Address Instruction
006A345C push eax 等級
006A345D call 006a33e4 取得升等所需經驗值
006A3462 sub eax,[esp+0c] [esp=0c]是目前經驗值
eax = 所需經驗值-目前經驗值 = 還需要多少經驗值
006A3466 pop ecx 因為查詢升等所需經驗值的CALL是__cdecl的CALL
(堆疊中放入參數,要由呼叫端清除堆疊內的參數)
006A33E4 push [esp+04] CALL的參數(等級)
006A33E8 mov ecx,00d3d180 經驗值表的位置
006A33ED call 006a33c4 查詢經驗值表
006A33F2 ret 返回
006A33C4 mov eax,[esp+04] 取得參數(等級)到EAX
006A33C8 cmp eax,000000c8 判斷[等級]和200
006A33CD jg 006a33dc 如果等級大於200則跳到006a33dc
006A33CF cmp eax,01 判斷[等級]和1
006A33D2 jnl 006a33d7 如果等級大於等於1跳到006a33d7
006A33D4 xor eax,eax Eax = 0
006A33D6 inc eax Eax ++
006A33D7 mov eax,[ecx+eax*4] 查表(表在00d3d180)
006A33DA jmp 006a33e1 跳到返回
006A33DC mov eax,7fffffff 最大經驗值為 0x7fffffff
006A33E1 ret 0004 返回