找回密码
 加入
搜索
查看: 3248|回复: 10

这个扫雷外挂怎么做的,好强!

  [复制链接]
发表于 2008-5-22 21:56:48 | 显示全部楼层 |阅读模式
先运行压缩包里的游戏,再运行外挂,启动->提醒。看看吧,很强大啊。怎么做的?





后附:发错附件了,不好意思。。。
附件已更新。。。

[ 本帖最后由 jiataifeng 于 2008-5-28 00:53 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2008-5-23 01:28:10 | 显示全部楼层
第一次把后缀名看错了,附件已更新,不好意思。。。

[ 本帖最后由 jiataifeng 于 2008-5-23 01:30 编辑 ]
发表于 2008-5-23 02:23:18 | 显示全部楼层
下面这个是某位大侠的,收藏的时候忘记写上大侠名号了.

发到这贴上供自己收藏学习了.




;这个程序中有不少程序细节的技巧,要认真体会有注释的地方

opt("MouseClickDelay", 0);设置鼠标移动及点击延时为0
opt("MouseClickDownDelay", 0)
opt('MouseCoordMode', 0);设置用于鼠标函数的坐标参照

$i_pid = Run('winmine.exe')
ProcessWait($i_pid)
$v_Open = _MemOpen($i_pid)

;Width  0x1005334
;$i_Width = _MemRead($v_Open, 0x1005334, "Byte") ;注释部分是到内存中取值的做法,不过在注册表中有一份,所以两种方法都可以
$i_Width = RegRead('HKEY_CURRENT_USER\Software\Microsoft\winmine', 'Width')

;Height 0x1005338
;$i_Height = _MemRead($v_Open, 0x1005338, "Byte") ;注释部分是到内存中取值的做法,不过在注册表中有一份,所以两种方法都可以
$i_Height = RegRead('HKEY_CURRENT_USER\Software\Microsoft\winmine', 'Height')

;Number 0x1005330
;$i_NonMines = _MemRead($v_Open, 0x1005330, "Short")
;$i_NonMines = $i_Width * $i_Height - $i_NonMines ;注释部分是到内存中取值的做法,不过在注册表中有一份,所以两种方法都可以
$i_NonMines = $i_Width * $i_Height - RegRead('HKEY_CURRENT_USER\Software\Microsoft\winmine', 'Mines')

Dim $i_Array = 0;非雷数
Dim $ai_Loc[$i_NonMines][2];用于存放非雷的坐标
For $y = 0 To $i_Height - 1
    For $x = 0 To $i_Width - 1
       ;mine   0x1005340 + 32 * y + x
       $Mine = _MemRead($v_Open, 0x1005340 + 32 * ($y + 1) + ($x + 1), "Byte")
        If $Mine = -113 Then   ;8F
            ConsoleWrite("X ")
            ContinueLoop
        Else
            ConsoleWrite("O ")
            $ai_Loc[$i_Array][0] = 23 + $x * 16
            $ai_Loc[$i_Array][1] = 112 + $y * 16
            $i_Array += 1
        EndIf
    Next;~
    ConsoleWrite(@LF)
Next ;获取非雷的坐标完毕

_MemClose($v_Open)

$v_Open = UBound($ai_Loc) - 1
opt('WinTitleMatchMode', 4);更改窗口函数在执行搜索操作时的标题匹配模式。
For $i = 0 To $v_Open
    MouseClick('left', $ai_Loc[$i][0], $ai_Loc[$i][1], 1, 0)
    If StringInStr(WinGetText('active'), '确定') Then ExitLoop;如果过关要留记录说明雷扫完了,这个窗口不一定弹出来
Next;扫雷主程序结束
        
Func _MemOpen($i_Pid, $i_Access = 0x1F0FFF, $i_Inherit = 0)
    Local $av_Return[2] = [DllOpen('kernel32.dll') ]
    Local $ai_Handle = DllCall($av_Return[0], 'int', 'OpenProcess', 'int', $i_Access, 'int', $i_Inherit, 'int', $i_Pid)
    If @error Then
        DllClose($av_Return[0])
        SetError(1)
        Return 0
    EndIf
    $av_Return[1] = $ai_Handle[0]
    Return $av_Return
EndFunc  ;==>_MemOpen

Func _MemClose($ah_Mem)
    Local $av_Ret = DllCall($ah_Mem[0], 'int', 'CloseHandle', 'int', $ah_Mem[1])
    DllClose($ah_Mem[0])
    Return $av_Ret[0]
EndFunc  ;==>_MemClose

Func _MemRead( $ah_Mem, $i_Address, $s_Type = '' )
        If $s_Type = '' Then
                Local $v_Return = ''
                Local $v_Struct = DllStructCreate('byte[1]')
                Local $v_Ret
                While 1
                        DllCall($ah_Mem[0], 'int', 'ReadProcessMemory', 'int', $ah_Mem[1], 'int', $i_Address, 'ptr', DllStructGetPtr($v_Struct), 'int', 1, 'int', '')
                        $v_Ret = DllStructGetData($v_Struct, 1)
                        If $v_Ret = 0 Then ExitLoop
                        $v_Return &= Chr($v_Ret)
                        $i_Address += 1
                WEnd
        Else
                Local $v_Struct = DllStructCreate($s_Type)
                DllCall($ah_Mem[0], 'int', 'ReadProcessMemory', 'int', $ah_Mem[1], 'int', $i_Address, 'ptr', DllStructGetPtr($v_Struct), 'int', _SizeOf($s_Type), 'int', '')
                Local $v_Return = DllStructGetData($v_Struct, 1, 1)
        EndIf
        Return $v_Return
EndFunc  ;==>_MemRead

Func _SizeOf( $s_Type )
        Local $v_Struct = DllStructCreate($s_Type), $i_Size = DllStructGetSize($v_Struct)
        If @error Then
                SetError(1)
                Return 0
        EndIf
        $v_Struct = 0
        Return $i_Size
EndFunc  ;==>_SizeOf
 楼主| 发表于 2008-5-23 02:36:13 | 显示全部楼层
这位大侠的方法只是把每个位置都点击了。好像没什么吧???起不到外挂的作用啊。。。
如果两种方法结合起来就完美了。
 楼主| 发表于 2008-5-23 02:39:14 | 显示全部楼层
运行了10次,没扫出一个雷来。算什么外挂嘛。。。
 楼主| 发表于 2008-5-24 08:02:32 | 显示全部楼层
顶下,大家都看看啊
 楼主| 发表于 2008-5-26 23:30:50 | 显示全部楼层
一起来研究一下吧
发表于 2010-7-16 15:09:18 | 显示全部楼层
看看是不是真的有那么神
发表于 2010-7-17 08:29:28 | 显示全部楼层
论坛原来有这个源码的吧,记的不太清楚是哪位发的,,
发表于 2011-2-9 13:23:52 | 显示全部楼层
研究下看看先
发表于 2011-2-9 13:54:52 | 显示全部楼层
没起到什么作用啊。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-2 14:25 , Processed in 0.075539 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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