Help with converting Assembly to c/c++ on VS2015

Discussion in 'MapleStory Tutorials & Guides Archive' started by icemaster560, Aug 23, 2016.

Discuss Help with converting Assembly to c/c++ on VS2015 in the MapleStory Tutorials & Guides Archive area at GameKiller.net

  1. icemaster560

    icemaster560 Lurker

    Post Count:
    1
    Stats
    Hi everyone,

    This is my first post on here, but I'm hoping to get some help. I started looking into making my first trainer but I'm running into some issues converting the assembly/cheat engine scripts to my vs2015.

    Here is a Faster Mobs ASM/CE script:

    //175.1
    //Updated by Su
    [Enable]
    00C5C1C6: //75 ?? 33 DB 8D 97 ?? 00 00 00 B9 ?? 00 00 00 E8
    db 90 90

    [Disable]
    00C5C1C6:
    db 75 98


    Now here it is converted to c/c++ on vs2015

    DWORD MobSpeedPointer = 0x00C5C1C6;
    BYTE enableSpeedUp[] = { 0x90, 0x90};
    BYTE disableSpeedUp[] = { 0x75, 0x98 };

    void Form1::checkBox1_CheckedChanged(System::Object^ sender, System::EventArgs^ e)
    {
    if (this->checkBox1->Checked)
    {
    //here we enable the hack by changing the bytes of the pointer
    memcpy((void*)MobSpeedPointer, enableSpeedUp, sizeof(enableSpeedUp));
    }
    else //if not checked
    {
    //here we disable the hack by coping back the original bytes to the pointer
    memcpy((void*)MobSpeedPointer, disableSpeedUp, sizeof(disableSpeedUp));
    }
    }


    Credits go to DarkSpace from ccplz.net.

    Okay, so following his guide this is what i came up with. whether or not this works, i haven't been able to test yet. I found this script rather straight forward to convert. Now let's go to a harder script where i ran into a few issues.

    Here is the Perfect Stance ASM/CE script:

    //v175.1
    //Updated by Su
    [Enable]
    017C6F7F: //85 F6 75 ? 39 ? 24 ? ? ? ? 74
    xor esi,esi
    nop
    nop

    017C6F8A: //address of JE below
    db EB

    [Disable]
    017C6F7F:
    db 85 F6 75 09

    017C6F8A:
    db 74

    So here i got a little stuck and this is also where I am looking to get some help. This is what i have so far in terms of converting to my side of things...

    #define jmp(frm, to) (int)(((int)to - (int)frm) - 5);

    DWORD PlayerStancePointer = 0x017C6F7F;
    BYTE disableStance[] = { 0x85, 0xF6, 0x75, 0x09 };

    void Form1::checkBox2_CheckedChanged(System::Object^ sender, System::EventArgs^ e)
    {
    if (this->checkBox2->Checked)
    {
    //here we enable the hack by changing the bytes of the pointer
    HookPerfectStance();
    }
    else //if not checked
    {
    //here we disable the hack by coping back the original bytes to the pointer
    memcpy((void*)PlayerStancePointer, disableStance, sizeof(disableStance));
    }
    }

    __declspec(naked) void __stdcall HookPerfectStance()
    {
    __asm
    {
    //asm
    xor esi,esi
    nop
    nop

    }
    }

    As you can see here, it's not finished. I'm not sure how to handle the rest of the ASM/CE code. It kind of just breaks off after the 'nop' and i don't have any idea how to approach it. In return for helping i would release a trainer of my own as soon as i could. I have a decent amount of free time and would love to give to the community after all these years.
     

    Mr. Ad Advertisement

     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice