飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: riusksk

[原创] 扫雷外挂逆向分析

[复制链接]
  • TA的每日心情
    慵懒
    2018-6-6 15:51
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2009-7-13 15:57:16 | 显示全部楼层
    发程序出来玩一下啊。从来都不会玩扫雷游戏。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-14 21:43:10 | 显示全部楼层
    学习汇编真的不错
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-29 07:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-8-22 13:06:26 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-17 13:16:02 | 显示全部楼层
    貌似汇编基础太低了。还要更努力一点才行~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-12-5 12:13:28 | 显示全部楼层
    扫雷还要外挂吗?
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-3-8 08:35:10 | 显示全部楼层

    顺着楼主分析的再逆回去,如有错误欢迎指正

    .data
    szTitle1        db        '1',0
    szTitle2        db        '0',0
    szTitle        db        '扫雷',0
    szFormat        db        ' 请启动 扫雷游戏',0
    ssBuffer_        dd        ?
    ssConcat_        dd        ?
    ssLength1_        dd        ?
    ssLength2_        dd        ?
    ssLength_3        dd        ?
    ssLength_4        dd        ?
    _Variable1                dd        ?

           
    .code
    _MinePlug        proc        uses ebx esi edi hWnd

            ;这个地址的子程序是00401220,楼主没给,不敢妄自猜测

            ret
    _MinePlug        endp


    start:
            invoke        FindWindow,NULL,addr szTitle
            mov        @Mine,eax
            cmp        @Mine,0
            jne        @F
            invoke        wsprintf,addr ssBuffer_,addr szFormat
            add        esp,8
            retn
            invoke        lstrcat,addr ssConcat_,        ;这个不知道怎么写了,这个函数的作用是将一个字符串拼接到另一个后

    面,楼主却只写一个
            invoke        _MinePlug,00403380                ;不知道这个00403380的地址是啥
            jmp        @6
           
    @@:
            invoke        GetWindowThreadProcess,hWnd,@ThreadID
            invoke        OpenProcess,VM_READ,FALSE,@ThreadID
            mov        @Pocess,eax                        ;保存进程ID
            mov        @Start,10056AC
            invoke        ReadProcessMemory,@Pocess,@Start,ssLength1_,4,NULL
            mov        ssLength1,10056A8
            invoke        ReadProcessMemory,@Pocess,@Start,ssLength2_,4,NULL
            mov        ssLength2,1005330
            invoke        ReadProcessMemory,@Pocess,@start,ssLength3_,4,NULL
            mov        ssLength3,1005361
            invoke        ReadProcessMemory,@Pocess,@start,ssLength4_,768,NULL
            mov        esi,ssLength4_
           
            invoke        _MinePlug,00403380
            invoke        _MinePlug,0040301D
            xor        eax,eax
            mov        _Variable1,eax
    @@:
            xor        eax,eax
            mov        _Variable1,eax
    @2:
            mov        al,byte ptr ds:[esi]
            inc        esi
            cmp        al,8F
            jnz        @F
            invoke        wsprintf,addr szBuffer_,addr szTitle1
            add        esp,8
            jmp        @1
    @@:
            invoke        wsprintf,addr szBuffer_,addr szTitle2
            add        esp,8
    @1:
            invoke        _MinePlug,00401220
            inc        dword ptr ds:[403490]
            mov        eax,_Variable1
            cmp        eax,ssLength2_
            jnb        @3
            jmp        @2
    @3:
            invoke        _MinePlug,0040301D
            mov        eax,20
            sub        eax,ssLength3_
            add        esi,eax
            inc        _Variable1
            mov        eax,_Variable1
            cmp        eax,09
            jnb        @6
            jmp        @B
           


    004011C4:
            ret                                ;猜测的,楼主没有贴出来









           

    end        start
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表