💾 Archived View for gemini.spam.works › mirrors › textfiles › programming › avoid_gw.txt captured on 2020-10-31 at 14:52:43.

View Raw

More Information

-=-=-=-=-=-=-



                A  SIMPLE  WAY  TO  DETECT  GAME  WIZARD
               ------------------------------------------


        Hi! there.

        First,  I must mention it that i'm not good at english.
        so, there is very high possibilty of using dull expression.
        namely  faulty grammer and so on...
        please forgive me.


        You know game wizard?.
        like it's name game wizard is wonderful one.
        but, for game producer especially Role style game maker.
        game wizard is an ultra-power enemy to defeat. isn't it?

        Here is a simple C source code to detect game wizard.
        this is for you who make game program.


                unsigned get_int_seg(int Intnum)
                {
                        unsigned *IntVec=(unsigned *)0x0;

                        return(IntVec[Intnum*2+1]);
                }

                check_wizard()
                {
                        unsigned Intnum70;

                        Intnum70 = get_int_seg(0x70);
                        if(intnum70==get_int_seg(0x21))return(1);
                        if(Intnum70==get_int_seg(0x10))return(1);
                        if(Intnum70==get_int_seg(0x13))return(1);
                        if(Intnum70==get_int_seg(0x28))return(1);
                        return(0);
                }

        The idea is simple.
        when game wizard is installing in memoryal interrupt vector table.
        so all we have to is just check special interrupt vector
        table's address. especially, interrupt Segment address.
        game wizard changes interrupt number 10h,13h,21h,28h,70h and
        command line option dependent interrupt numbers.
        command line option dependent interrupt numbers are varied by option.
        but, interrupt number 10h,13h,21h,28h,70h is always changed.
        so if check interrupt number 10h,13h,21h,28h,70h segment address
        we can determine whether game wizard is in memory.
        notice interrupt number 70h.
        intercepting interrupt number 70h is characteristic.

        This is simple way to detect game wizard.
        Usually this routine works right.
        but, After game wizard is excuted and When intercepting interrupt
        number 10h,13h,21h,28h program is staying in memory
        this routine fails!.

        Thanks for read!.
        if you have any questions or need more info,
        then email me at easthill@nowcom.co.kr

        Written by Yonghee Lee ( From Kwangju , Korea ) 1995.