首页
社区
课程
招聘
[求助]各位大哥帮我看看 OD 查看程序地址的问题,好吗?谢谢!
2008-11-20 09:58 3709

[求助]各位大哥帮我看看 OD 查看程序地址的问题,好吗?谢谢!

2008-11-20 09:58
3709
请教:
在学 vmprotect 时,里面讲到需要知道要加密程序段的地址
它说用 OD 来看。
我安装了个 OD,我的程序如下:

bool Mytest = false; //自己定义的变量

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
        // TODO: 在此放置代码。
        MSG msg;
        HACCEL hAccelTable;

        // 初始化全局字符串
        LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
        LoadString(hInstance, IDC_TEST5, szWindowClass, MAX_LOADSTRING);
        MyRegisterClass(hInstance);

        // 执行应用程序初始化:
        if (!InitInstance (hInstance, nCmdShow))
        {
                return FALSE;
        }

        hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_TEST5);

        // 主消息循环:
        while (GetMessage(&msg, NULL, 0, 0))
        {
                if(Mytest)
                        {
                                 Mytest = false; //MyGame
                                 MessageBox(NULL, TEXT("open fail"), TEXT("COM1"), MB_OK);  //如果打开失败
                        }
               
        }

        return (int) msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        int wmId, wmEvent;
        PAINTSTRUCT ps;
        HDC hdc;

  switch(wParam)
                {
                  case 'A':
                              Mytest = true;
                        break;
                }
        return 0;
}

现在我希望把

if(Mytest)
        {
                 Mytest = false; //MyGame
                 MessageBox(NULL, TEXT("open fail"), TEXT("COM1"), MB_OK);  //如果打开失败
        }
       


case 'A':
Mytest = true;

加密

那么就需要知道
这 2 段程序的起始地址和结束地址

我把编译好的 test5.exe 用 OD 打开

我怎么查看他们的地址啊

谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 32406
活跃值: (18795)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2008-11-20 10:40
2
0
http://bbs.pediy.com/showthread.php?t=20317
http://bbs.pediy.com/showthread.php?t=37477

用SDK,即'VMProtect begin'等标签将相关代码包括起来。
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
北极狐狸 7 2008-11-20 10:46
3
0
vmprotect 不是很了解,至于od如何得到地址。
可以 bpx messageboxA 下断点。
向上找找........大致可以找到你要的地址.
期待更熟悉这些的大侠介绍一下...
雪    币: 141
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JJJC 2008-11-20 13:03
4
0
不需要知道地址 只要在编译时 用它提供的SDK就好了
需要加密的代码要用'VMProtect bagin'(记不清了)标签标识出来

被加密的代码越少越好 因为虚拟机的执行效率比较低 太多会出现运算缓慢的问题
游客
登录 | 注册 方可回帖
返回