返回列表 发帖

[历史] 圣域服自动补丁

圣域服务器双开无限视野补丁,每次更新运行下即可.

1.将ROAutoPatch.zip用zip解压复制至RO安装目录
2.运行RO客户端更新
3.关闭RO客户端
4.运行ROAutoPatch.exe,点对话框相应按钮修改.

软件MD5校验和: 248b942517ff7abcced7d1d6adbc95fb
下载地址:http://xploit.vicp.net/RoAutoPatch.zip

// ROAutoPatch.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "ROAutoPatch.h"
#include "ROAutoPatchDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CROAutoPatchApp

BEGIN_MESSAGE_MAP(CROAutoPatchApp, CWinApp)
        //{{AFX_MSG_MAP(CROAutoPatchApp)
                // NOTE - the ClassWizard will add and remove mapping macros here.
                //    DO NOT EDIT what you see in these blocks of generated code!
        //}}AFX_MSG
        ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CROAutoPatchApp construction

CROAutoPatchApp::CROAutoPatchApp()
{
        // TODO: add construction code here,
        // Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CROAutoPatchApp object

CROAutoPatchApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CROAutoPatchApp initialization

BOOL CROAutoPatchApp::InitInstance()
{
        AfxEnableControlContainer();

        // Standard initialization
        // If you are not using these features and wish to reduce the size
        //  of your final executable, you should remove from the following
        //  the specific initialization routines you do not need.

#ifdef _AFXDLL
        Enable3dControls();                        // Call this when using MFC in a shared DLL
#else
        Enable3dControlsStatic();        // Call this when linking to MFC statically
#endif

        CROAutoPatchDlg dlg;
        m_pMainWnd = &dlg;
        int nResponse = dlg.DoModal();
        if (nResponse == IDOK)
        {
                // TODO: Place code here to handle when the dialog is
                //  dismissed with OK
        }
        else if (nResponse == IDCANCEL)
        {
                // TODO: Place code here to handle when the dialog is
                //  dismissed with Cancel
        }

        // Since the dialog has been closed, return FALSE so that we exit the
        //  application, rather than start the application's message pump.
        return FALSE;
}

DWORD Patch(const void * olddata, const void * newdata, DWORD size)
{
        DWORD flags=0xFFFFFFFF;
        HANDLE hFile=CreateFile("Ragexe.sp2",
                GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING,
                FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, 0);
        if(!hFile || hFile==INVALID_HANDLE_VALUE)
        {
//                MessageBox("CreateFile()",NULL,MB_OK);
                return 0L;
        }

        HANDLE hFileMap=CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, 0);
        if(!hFileMap || hFileMap==INVALID_HANDLE_VALUE)
        {
//                MessageBox("CreateFileMapping()",NULL,MB_OK);
                CloseHandle (hFile);
                return 0L;
        }

        PBYTE lpMem=(PBYTE)MapViewOfFile(hFileMap, FILE_MAP_READ|FILE_MAP_WRITE, 0, 0, 0);
        if(!hFileMap)
        {
//                MessageBox("CreateFileMapping()",NULL,MB_OK);
                CloseHandle (hFileMap);
                CloseHandle (hFile);
                return 0L;
        }

        DWORD filesize2;
        DWORD filesize1=GetFileSize(hFile,&filesize2);

        PBYTE p=lpMem;

        for(;(DWORD)p-(DWORD)lpMem+size<=filesize1;p++)
        {
                if(!memcmp(p,olddata,size))
                {
                        memcpy(p,newdata,size);
                        flags=(DWORD)p-(DWORD)lpMem;
                        break;
                }
        }

        UnmapViewOfFile (lpMem);
        CloseHandle (hFileMap);
        CloseHandle (hFile);
        return flags;
}

[ 本帖最后由 keith 于 2007-2-19 17:49 编辑 ]

新注册的号。。。。
当心木马。。。。
淘宝店铺地址 http://shop34273733.taobao.com

TOP

小心是好事情,自己开卡巴查.
源代码放上去了,怕木马的自己下代码回去编译吧.呵呵.

TOP

就算我装了也承受不了双开...

TOP

Neb的不是用得好好的= =
把签名改回来~

TOP

有时候人可以懒到不可思议的程度

TOP

一直都是用“N全补丁生成器”
顺便求下验证码,朋友告诉我个没用,还是显示“隐藏选项”

【杰】N全补丁昆仑万维版:点击进入

TOP

既然觉得不放心,且没有判断真伪的信心,可以不去下的。争吵毫无意义。
我相信楼主的东西是好的,只是缺少斑竹等有说服力的代表来验证而已。

TOP

原帖由 梦断金陵 于 2007-2-19 17:05 发表
既然觉得不放心,且没有判断真伪的信心,可以不去下的。争吵毫无意义。
我相信楼主的东西是好的,只是缺少斑竹等有说服力的代表来验证而已。


我也是这么看的,不相信或者自己没有能力检验就别去下嘛,他们凭什么骂人是吧.
终于有人能说点公道话

TOP

我也相信
不过我不知道怎么用
情劫千重痴心锁,烽烟未断接天末,情非情,韶华散尽春以老,待得后人续今朝.

TOP

LZ我支持你.注册的晚又怎样.这个应该不是小站应该有的宽容心与素质吧.
注册得晚也未必代表RO龄就比你少,就算少又怎样了呢.某人拿这个判断别人的价值也未免太让人寒心了.
我相信小站刻薄的人还是少的,因为长久爱着RO的人,我相信都是善良的.
希望LZ不要因为一两个人而放弃这里.欢迎你继续用你的技术和我们共同enjoy RO.
THX.

TOP

原帖由 Dona 于 2007-2-19 17:23 发表
LZ我支持你.注册的晚又怎样.这个应该不是小站应该有的宽容心与素质吧.
注册得晚也未必代表RO龄就比你少,就算少又怎样了呢.某人拿这个判断别人的价值也未免太让人寒心了.
我相信小站刻薄的人还是少的,因为长久 ...


感谢感谢.
交个朋友,以后互相帮助哈.
可以M我ID,就是Anonymous,呵呵.

TOP

今天好多人匿名啊。
那我继续匿名。

总结下LZ被怀疑是散布病毒木马的几个关键:
1.新ID,仅有的帖子也是在唯一一张帖子里回复的(说的是第一页刚出现的时候)。
2.不是直接给出下载链接,并且该链接又是不知名的地址。
3.最BT的就是LZ居然起这种ID名,想不被人怀疑都不行。
4.明明置顶有一同类软件,居然还冒出个类似的“原创作品”,第一反应:抄袭。

TOP

没想到会吵成这样。。

各位站友可以怀疑,但没必要对楼主进行攻击。

楼主所发小程序可以放心使用,感谢楼主发布。

希望楼主以后还能发布一些好东西,当然,像这种已经有类似程序的东西就不要再写了。

=======

锁贴,清贴,再开放!顺便编辑了一下顶楼,加入下载地址URL。


谁再吵送谁进小黑屋!!

[ 本帖最后由 keith 于 2007-2-19 17:52 编辑 ]

TOP

返回列表