首页
社区
课程
招聘
[旧帖] [求助]用内联汇编如何能得到自定义函数地址。。 0.00雪花
发表于: 2013-12-13 13:24 1549

[旧帖] [求助]用内联汇编如何能得到自定义函数地址。。 0.00雪花

2013-12-13 13:24
1549
比如:
function DDK(statks:DWORD):DWORD;stdcall;
begin
//中间的代码就省了!!
end;

用内联汇编写,如何得得DDK函数的首地址。。。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1555
活跃值: (3103)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
2
void xp_win7_0x00()
{
    ..................
}

void  GetCustmFunAddr()
{
        void(* pvx)(void);
        pvx = xp_win7_0x00;
        DWORD pvd = (DWORD)pvx;
        _asm{

                mov eax,pvd
               
        }
}
2013-12-13 13:39
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
其实2楼还是用C/C++的方式获得地址的,如下:
  void(* pvx)(void);
  pvx = xp_win7_0x00;  // 已经得到了地址,然后下面只是赋值而已

楼主可以试一下lea指令,如下:

#include <stdio.h>

void SayHello();

int main()
{
    __asm
    {
        lea     eax, SayHello
        call    eax
    }

    return 0;
}

void SayHello()
{
    printf("Hello world!\n");
}
2013-12-13 17:51
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
直接名字就是地址?难道不是吗
2013-12-13 19:19
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
__asm
   { mov eax,DDK
      mov 你的临时变量,eax
  }
2013-12-13 23:13
0
雪    币: 1555
活跃值: (3103)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
6
亲测下,看看编译器包错吗
2013-12-13 23:21
0
游客
登录 | 注册 方可回帖
返回
//