首页
社区
课程
招聘
[求助]aspr中USER_POLYBUFFER的使用
发表于: 2007-8-8 13:20 5106

[求助]aspr中USER_POLYBUFFER的使用

2007-8-8 13:20
5106
我在希望保护的几个函数开头插入了USER_POLYBUFFER宏,加壳保护时提示找到了这些poly标志,但处理个数为0,请问是怎么回事?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
2
貌似是针对缓冲区的
2007-8-8 13:21
0
雪    币: 262
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还指望着大家呢,拜托各位别只看不说呀!
2007-8-9 13:37
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
看帮助
可能会有收获
2007-8-9 18:39
0
雪    币: 262
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
帮助讲的非常简单:在要保护的函数的任何位置插入该标志。

但我发现有时行有时不行,更莫名其妙的时有时在别的什么函数中插一个标志,本来不行的函数中的标志又可以处理了,我快疯了,哪位有心得体会的快指点一把,眼吧吧的等着呢!
2007-8-10 13:53
0
雪    币: 262
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
比如用vc创建一个基于对话框的过程Test1, 修改其代码如下:
CTest1App theApp;

struct tttt stt;

void Dotest()
{
        int j;

//        USER_POLYBUFFER
        j = 100;
}

CString CTest1App::hi(const CString & str)
{
        int i,j = 0;
        int k;
        CString strTmp = "asdasdf";

//        USER_POLYBUFFER

        i = j;
        k = 0;

        for(i =0; i < 100; i++)
        {
                k =i;
        }

        stt.test[1] = str.GetAt(1);

        return strTmp;
}

/////////////////////////////////////////////////////////////////////////////
// CTest1App initialization

BOOL CTest1App::InitInstance()
{
        USER_POLYBUFFER

        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

        CTest1Dlg 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;
}

此时加壳, 会提示找到一个标志, 但处理数量为0.
若启用HI函数中的标志, 提示找到两个标志, 但处理数量为1
再启用DoTest函数中的标志, 居然3个标志都可以处理了.

哪位高人愿意指点迷津?
2007-8-10 14:38
0
雪    币: 262
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不会是没人知道吧?
2007-8-12 10:16
0
游客
登录 | 注册 方可回帖
返回
//