0x0012f3b4指令參考的  0x00000 該記憶體不能為"writen"
一般怎么情况下会发生这种错误,怎么解决

解决方案 »

  1.   

    什么时候发生的?
    如果是关闭VB程序时发生,可以试试把外接管理器里面的所有外接都去掉(一般是sourcesafe引起的)
      

  2.   

    我在运行一个vb程序时出现这种情况,但是我如果f8好像不会出现
    这段程序一个朋友的的帖子,功能为在内存中取socket数据
    现摘录如下
    Sleep (1000)
            Do Until False
                DoEvents
                DoEvents
            
                nResult = recv(m_hSocket, Buff(0), MAX_PACK_LEN, 0)
                Call Sleep(200)
                DoEvents
                If nResult = SOCKET_ERROR Then
                    MsgBox "Snap Error"
                    Exit Do
                End If
                CopyMemory IPH, Buff(0), Len(IPH)
                                                 
                                                  
                
                Select Case IPH.proto
                
                  Case IPPROTO_TCP
                        Debug.Print HexIp2DotIp(IPH.sourceIP) & "----->" & HexIp2DotIp(IPH.destIP)
                End Select
            Loop
      

  3.   

    呵呵,拦截socket包当然要承担高风险了拦截socket包
    这个技术难度要比原来的高很多哦,要有思想准备.
    首先我们要替换winSock.dll或者winsock32.dll,我们写的替换函数要和原来的函数一致才行,就是说它的函数输出什么样的,我们也要输出什么样子的函数,而且参数,参数顺序都要一样才行,然后在我们的函数里面调用真正的winSock32.dll里面的函数就可以了
    首先:我们可以替换动态库到系统路径
    其次:我们应用程序启动的时候可以加载原有的动态库,用这个函数LoadLibary
    然后定位函数入口用GetProcAddress函数获得每个真正socket函数的入口地址
    当游戏进行的时候它会调用我们的动态库,然后从我们的动态库中处理完毕后才跳转到真正动态库的函数地址,这样我们就可以在里面处理自己的数据了,应该是一切数据.呵呵!
    兴奋吧,拦截了数据包我们还要分析之后才能进行正确的应答,不要以为这样工作就完成了,呵呵!还早呢,等分析完毕以后我们还要仿真应答机制来和服务器通信,一个不小心就会被封号,呵呵,呜~~~~~~~~我就被封了好多啊!
    分析数据才是工作量的来源呢,游戏每次升级有可能加密方式会有所改变,因此我们写外挂的人都是亡命之徒啊,被人娱乐了还不知道,呵呵!(声明我可没有赚钱,我是免费的)
    好了,给大家一个不错的起点,这里有完整的替换socket源代码,呵呵!
    http://www.vchelp.net/vchelp/zsrc/wsock32_sub.zip
      

  4.   

    参考:
    http://lonelydeer.html.533.net/5.htm
      

  5.   

    Memory has been locked.
      

  6.   

    调用别的动态库或exe文件出错时可能会出现