[Release][Method]Aeria - Bypass Attack speed hack protection

05/17/2012 06:50 ufcwired#61
can someone please guide me how to speed hack on endless online using
t-search etc.
05/17/2012 14:04 LikeAStar7x#62
dont work ;(
05/18/2012 06:37 ufcwired#63
any other hacks for this game because this is sever side? If anyone knows how to make hacks can you make for this game endless online that would be awesome. dammit i really wanted speed to work :(
10/11/2012 10:42 blackcode12#64
nice men^^
09/17/2022 00:06 Rin16#65
Code:
00430A00  /$  55            PUSH EBP
00430A01  |.  8BEC          MOV EBP,ESP
00430A03  |.  83EC 08       SUB ESP,8
00430A06  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00430A09  |.  C745 FC 0000C>MOV DWORD PTR SS:[EBP-4],42C80000
00430A10  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
00430A13  |.  8378 18 00    CMP DWORD PTR DS:[EAX+18],0
00430A17  |.  7E 0C         JLE SHORT TwelveSk.00430A25
00430A19  |.  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
00430A1C  |.  DB41 18       FILD DWORD PTR DS:[ECX+18]
00430A1F  |.  D845 FC       FADD DWORD PTR SS:[EBP-4]
00430A22  |.  D95D FC       FSTP DWORD PTR SS:[EBP-4]
00430A25  |>  D945 FC       FLD DWORD PTR SS:[EBP-4]
00430A28  |.  8BE5          MOV ESP,EBP
00430A2A  |.  5D            POP EBP
00430A2B  \.  C2 0400       RETN 4|
I found this part but I cant find what is calling it.
What should I do?

Code:
TwelveSky2.exe+CAA50 - 55                    - push ebp
TwelveSky2.exe+CAA51 - 8B EC                 - mov ebp,esp
TwelveSky2.exe+CAA53 - 83 EC 0C              - sub esp,0C { 12 }
TwelveSky2.exe+CAA56 - 89 4D F8              - mov [ebp-08],ecx
TwelveSky2.exe+CAA59 - D9 05 2CB27B00        - fld dword ptr [TwelveSky2.exe+3BB22C] { (100.00) }
TwelveSky2.exe+CAA5F - D9 5D FC              - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA62 - 8B 45 08              - mov eax,[ebp+08]
TwelveSky2.exe+CAA65 - 83 78 18 00           - cmp dword ptr [eax+18],00 { 0 }
TwelveSky2.exe+CAA69 - 7E 0C                 - jle TwelveSky2.exe+CAA77
TwelveSky2.exe+CAA6B - 8B 4D 08              - mov ecx,[ebp+08]
TwelveSky2.exe+CAA6E - DB 41 18              - fild dword ptr [ecx+18]
TwelveSky2.exe+CAA71 - D8 45 FC              - fadd dword ptr [ebp-04]
TwelveSky2.exe+CAA74 - D9 5D FC              - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA77 - 8B 55 08              - mov edx,[ebp+08]
TwelveSky2.exe+CAA7A - 83 7A 64 00           - cmp dword ptr [edx+64],00 { 0 }
TwelveSky2.exe+CAA7E - 7E 0C                 - jle TwelveSky2.exe+CAA8C
TwelveSky2.exe+CAA80 - D9 45 FC              - fld dword ptr [ebp-04]
TwelveSky2.exe+CAA83 - DC 0D A8B07B00        - fmul qword ptr [TwelveSky2.exe+3BB0A8] { (0.50) }
TwelveSky2.exe+CAA89 - D9 5D FC              - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAA8C - 8B 45 0C              - mov eax,[ebp+0C]
TwelveSky2.exe+CAA8F - 8B 48 1C              - mov ecx,[eax+1C]
TwelveSky2.exe+CAA92 - 51                    - push ecx
TwelveSky2.exe+CAA93 - B9 9CB75F01           - mov ecx,TwelveSky2.exe+11FB79C { (0) }
TwelveSky2.exe+CAA98 - E8 A3170800           - call TwelveSky2.exe+14C240
TwelveSky2.exe+CAA9D - D8 4D FC              - fmul dword ptr [ebp-04]
TwelveSky2.exe+CAAA0 - E8 3B6A2600           - call TwelveSky2.exe+3314E0
TwelveSky2.exe+CAAA5 - 89 45 F4              - mov [ebp-0C],eax
TwelveSky2.exe+CAAA8 - DB 45 F4              - fild dword ptr [ebp-0C]
TwelveSky2.exe+CAAAB - D8 45 FC              - fadd dword ptr [ebp-04]
TwelveSky2.exe+CAAAE - D9 5D FC              - fstp dword ptr [ebp-04]
TwelveSky2.exe+CAAB1 - D9 45 FC              - fld dword ptr [ebp-04]
TwelveSky2.exe+CAAB4 - 8B E5                 - mov esp,ebp
TwelveSky2.exe+CAAB6 - 5D                    - pop ebp
TwelveSky2.exe+CAAB7 - C2 0800               - ret 0008 { 8 }
And the function I found is like that
09/17/2022 14:02 emreozan625#66
Thank you very much, can you share tutorial about stacking item or any way to earn fast money?
10/25/2022 12:35 lnwnuyhodd#67
Code:
float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2)
{
    float v3; // [esp+8h] [ebp-4h]

    v3 = 100.0;
    if ( a1->aBuff[6] > 0 )
        v3 = a1->aBuff[6] + v3;
    if ( a1->aBuff[25] > 0 )
        v3 = v3 * 0.5;
    return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3;
}

float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 99.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 - 1.0;
    return floor(v4);
}

float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 121.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 + 1.0;
    return floor(v4);
}

ex.
void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime)
{
    int v3; // [esp+0h] [ebp-10h]
    int v5; // [esp+8h] [ebp-8h]
    float v6; // [esp+Ch] [ebp-4h]

    if ( This->mDATA.aAnimalAbsorbState )
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0);
    else
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0);
    v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView);
    if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) )
        This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame;
    if ( This->mDATA.aAction.aFrame >= v5 )
    {
        This->mDATA.aAction.aSort = 1;
        This->mDATA.aAction.aFrame = 0.0;
        This->unk00 = 0;
        if ( !tObjIndex )
        {
            TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction);
            if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) )
            {
                v3 = This->mDATA.aAction.aTargetObjectSort;
                if ( v3 == 2 || v3 == 3 )
                {
                    MAIN::ProcessForGetAvatar3();
                }
                else if ( v3 == 5 )
                {
                    MAIN::ProcessForGetMonster3();
                }
            }
        }
    }
}
10/28/2022 07:47 ivyhacker#68
Quote:
Originally Posted by lnwnuyhodd View Post
Code:
float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2)
{
    float v3; // [esp+8h] [ebp-4h]

    v3 = 100.0;
    if ( a1->aBuff[6] > 0 )
        v3 = a1->aBuff[6] + v3;
    if ( a1->aBuff[25] > 0 )
        v3 = v3 * 0.5;
    return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3;
}

float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 99.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 - 1.0;
    return floor(v4);
}

float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 121.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 + 1.0;
    return floor(v4);
}

ex.
void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime)
{
    int v3; // [esp+0h] [ebp-10h]
    int v5; // [esp+8h] [ebp-8h]
    float v6; // [esp+Ch] [ebp-4h]

    if ( This->mDATA.aAnimalAbsorbState )
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0);
    else
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0);
    v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView);
    if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) )
        This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame;
    if ( This->mDATA.aAction.aFrame >= v5 )
    {
        This->mDATA.aAction.aSort = 1;
        This->mDATA.aAction.aFrame = 0.0;
        This->unk00 = 0;
        if ( !tObjIndex )
        {
            TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction);
            if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) )
            {
                v3 = This->mDATA.aAction.aTargetObjectSort;
                if ( v3 == 2 || v3 == 3 )
                {
                    MAIN::ProcessForGetAvatar3();
                }
                else if ( v3 == 5 )
                {
                    MAIN::ProcessForGetMonster3();
                }
            }
        }
    }
}
So re u thinking to kill other games like this? Do u want me to release something bigger?
07/23/2023 13:07 zay999#69
Quote:
Originally Posted by ivyhacker View Post
So re u thinking to kill other games like this? Do u want me to release something bigger?
please release something bigger :)
07/23/2023 13:20 Asobitaikun#70
Quote:
Originally Posted by lnwnuyhodd View Post
Code:
float __stdcall FACTOR::GetAttackSpeed(BUFF_INFO1 *a1, EQUIP_INFO2 *a2)
{
    float v3; // [esp+8h] [ebp-4h]

    v3 = 100.0;
    if ( a1->aBuff[6] > 0 )
        v3 = a1->aBuff[6] + v3;
    if ( a1->aBuff[25] > 0 )
        v3 = v3 * 0.5;
    return (UTIL::ReturnAttackSpeedUp(a2->aEquipValue[3][1]) * v3) + v3;
}

float __thiscall AVATAR_OBJECT::MiniAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 99.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 - 1.0;
    return floor(v4);
}

float __thiscall AVATAR_OBJECT::MaxAttackSpeed(AVATAR_OBJECT *this, BUFF_INFO1 *a2)
{
    float v4; // [esp+Ch] [ebp-10h]
    float v5; // [esp+18h] [ebp-4h]
    float v6; // [esp+18h] [ebp-4h]

    v5 = 121.0;
    if ( a2->aBuff[25] > 0 )
        v5 = v5 * 0.5;
    v6 = (UTIL::ReturnAttackSpeedUp(this->mDATA.aEquipForView[3][1]) * v5) + v5;
    v4 = v6 + 1.0;
    return floor(v4);
}

ex.
void __thiscall AVATAR_OBJECT::A006(AVATAR_OBJECT *This, int tObjIndex, float dTime)
{
    int v3; // [esp+0h] [ebp-10h]
    int v5; // [esp+8h] [ebp-8h]
    float v6; // [esp+Ch] [ebp-4h]

    if ( This->mDATA.aAnimalAbsorbState )
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, 0, tObjIndex == 0);
    else
        v5 = GDATA::ReturnCharacterMotionFrameNum(This->mDATA.aPreviousTribe, This->mDATA.aGender, This->mDATA.aAction.aType, This->mDATA.aAction.aSort, This->mDATA.aLevel1, This->mDATA.aLevel2, This->mDATA.aAnimalNumber, tObjIndex == 0);
    v6 = FACTOR::GetAttackSpeed(This->mDATA.aEffectValueForView, This->mDATA.aEquipForView);
    if ( v6 > AVATAR_OBJECT::MiniAttackSpeed(This, This->mDATA.aEffectValueForView) && v6 < AVATAR_OBJECT::MaxAttackSpeed(This, This->mDATA.aEffectValueForView) )
        This->mDATA.aAction.aFrame = dTime * v6 * 0.300000011920929 + This->mDATA.aAction.aFrame;
    if ( This->mDATA.aAction.aFrame >= v5 )
    {
        This->mDATA.aAction.aSort = 1;
        This->mDATA.aAction.aFrame = 0.0;
        This->unk00 = 0;
        if ( !tObjIndex )
        {
            TRANSFER::T_UPDATE_AVATAR_ACTION(&This->mDATA.aAction);
            if ( !MAIN::KEYBOARD6_FOR_SKILL(mMAIN) )
            {
                v3 = This->mDATA.aAction.aTargetObjectSort;
                if ( v3 == 2 || v3 == 3 )
                {
                    MAIN::ProcessForGetAvatar3();
                }
                else if ( v3 == 5 )
                {
                    MAIN::ProcessForGetMonster3();
                }
            }
        }
    }
}
Massive attack speed thanks also is it possible to send packet like for example I attack with my single hit then the monster will receive like 7-10 attacks with my single hit .