|
楼主 |
发表于 2012-3-24 17:49
|
显示全部楼层
本帖最后由 jerry8192 于 2012-3-25 23:56 编辑
回复 winson7891 的帖子
DOS 版用 IDA 5.5 按下 F5 後的結果[code]// 计算武功对敌人伤害生命值
void __fastcall war_WugongHartLife(int a1, int edx0, int a3, int a4, __int16 mywarid, int a2, __int16 personid, __int16 emenyID, __int16 PersonWugong, __int16 Juli)
{
signed __int64 v10; // qax@1
int i; // ebx@1
int v12; // esi@1
signed int j; // ebx@10
int v14; // ecx@15
int v15; // ebx@15
int v16; // eax@17
signed __int64 v17; // qax@19
int v18; // ebx@19
signed __int64 v19; // qax@23
int v20; // ebx@23
signed int v21; // edi@23
int v22; // ebx@23
int v23; // eax@23
int v24; // ebx@23
int v25; // edx@23
int v26; // ecx@23
int v27; // edx@24
int v28; // edi@24
int v29; // eax@24
int v30; // edi@24
int v31; // edx@24
int v32; // ecx@24
int v33; // ebx@26
unsigned int v34; // eax@27
unsigned int v35; // ebx@27
__int16 v36; // bx@27
signed __int64 v37; // qtt@27
unsigned int v38; // eax@28
unsigned int v39; // ecx@28
int v40; // eax@33
int v41; // ecx@33
signed __int64 v42; // qax@35
int v43; // ecx@35
signed __int64 v44; // qax@37
int v45; // ecx@37
int v46; // ecx@37
int v47; // edi@37
int v48; // eax@39
int v49; // eax@41
int v50; // [sp+4h] [bp-10h]@1
LODWORD(v10) = check_stack(a1, edx0, a3, a4, 0x1Cu);
v12 = 0;
v50 = 0;
word_E6EC2 = 0;
for ( i = 0; (_WORD)i < word_556D2; ++i )
{
HIDWORD(v10) = 28 * (signed __int16)i;
LODWORD(v10) = 182 * *(__int16 *)((char *)word_DC72C + HIDWORD(v10));
if ( *(__int16 *)((char *)word_901BA + v10) > 80 )
{
if ( *(__int16 *)((char *)word_9016E + v10) > 0 )
{
if ( !*(__int16 *)((char *)word_DC736 + HIDWORD(v10)) )
{
if ( *(__int16 *)((char *)word_DC72E + HIDWORD(v10)) == word_DC72E[14 * mywarid] )
{
LODWORD(v10) = 364 * *(__int16 *)((char *)word_DC72C + HIDWORD(v10));
v12 += v10;
}
else
{
LODWORD(v10) = 364 * *(__int16 *)((char 因為我家網路瀏覽速度過慢,所以帖子會變成這樣!誰來幫我?
|
|