看流星社区

 找回密码
 注册账号
查看: 2700|回复: 2

今天过了"后台跑路",心情大好,发个.顺便问几个问题

[复制链接]

该用户从未签到

发表于 2011-3-21 09:20:00 | 显示全部楼层 |阅读模式
下面写过NP的不会搞, 求个思路!!!!!!!!我用的是vb.net2005.vb相差好多啊.
还有怎么用线程代替时钟,我用了10几个了.线程池不会,就要代码实例.

下面讲讲躲过NP的扫描的几个方法:  
四、编程篇(VB、VC、DELPHI等等!)  
怎么办呢?呵呵,我不懂怎么编VC和DELPHI的。***我就喜欢VB怎么着?  
VB可以简单的实现虚拟nProtect的消息发送。具体的就不说了!  
一句话虚拟nProtect消息(你不等于没说嘛!)-_-!呵呵这个嘛......!  
代码就不写了,麻烦。就像用WPE这些发包一样的原理.

我的跑路代码.
Public Declare Function WriteProcessMemory Lib "kernel32.dll" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Long) As Long
  Public Declare Function WriteProcessMemory1 Lib "kernel32.dll" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Long) As Single '用来写坐标
'下面的时钟写内存
Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
    Dim addrx, addry, addr2 As Single, shijiao As Single = -90
    Dim addr, addr1, old, back As Integer, xx As Single = Val(gox.Text), yy As Single = Val(goy.Text)
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
    ReadProcessMemory(hProcess, &H12F824, addr1, 4, 0)
    ReadProcessMemory(hProcess, addr1 + &H24, addr1, 4, 0)
    ReadProcessMemory(hProcess, addr1 + &H8C8, addr, 4, 0)
    ReadProcessMemory(hProcess, addr + &H30, addr, 4, 0)
    ReadProcessMemory(hProcess, addr + &H4, addr, 4, 0)
    ReadProcessMemory1(hProcess, addr + &H20, addrx, 4, 0)
    ReadProcessMemory1(hProcess, addr + &H28, addry, 4, 0)
    Label25.Text = addr2
    back = 0
    If CInt(rx) <> CInt(xx) Or CInt(ry) <> CInt(yy) Then
        VirtualProtectEx(hProcess, addr1 + &H5A8, 4, PAGE_EXECUTE_READWRITE, old)
        WriteProcessMemory1(hProcess, addr + &H20, xx, 4, 0)
        WriteProcessMemory1(hProcess, addr + &H28, yy, 4, 0)
        WriteProcessMemory1(hProcess, addr1 + &H5A8, shijiao, 4, 0)
        VirtualProtectEx(hProcess, addr1 + &H5A8, 4, old, back)
    Else
        Timer4.Enabled = False
    End If
    CloseHandle(hProcess)
  End Sub
Private Sub movestart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles movestart.Click '启动跑路
    SendMessage(hwd, WM_LBUTTONDOWN, 1, 500 * (2 ^ 16) + 380)
    SendMessage(hwd, WM_LBUTTONUP, 1, 500 * (2 ^ 16) + 380)
    Timer4.Enabled = True
    SendMessage(hwd, WM_LBUTTONDOWN, 1, 500 * (2 ^ 16) + 380)
    SendMessage(hwd, WM_LBUTTONUP, 0, 500 * (2 ^ 16) + 380)
  End Sub
Private Sub movestop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles movestop.Click '停止
    Timer4.Enabled = False
  End Sub

该用户从未签到

发表于 2011-3-21 09:20:10 | 显示全部楼层
sendmessage是这个问题 如果不返回那么就比较麻烦
那么用postmessage怎么样呢?

该用户从未签到

发表于 2011-3-21 09:20:39 | 显示全部楼层
PostMessage 和SendMessage的区别主要在于是否等待其他程序消息处理。PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;而SendMessage必须等待其他程序处理消息后才返回,继续执行。这两个函数的返回值也不同,PostMessage的返回值表示 PostMessage函数执行是否正确,而SendMessage的返回值表示其他程序处理消息后的返回值。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-15 20:18

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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