【问题标题】:label as a parameter标签作为参数
【发布时间】:2011-06-15 23:27:40
【问题描述】:
void InitCallback(DWORD callback)
{
goto EndTramp;
Tramp:

 __asm
 {
  pushad
                call callback
                popad 
  ret 
 }
EndTramp:

 JmpPatch(0x6D8AC1, (DWORD)Tramp);
 return;
}

错误 C2065:'Tramp':未声明的标识符

如何从标签中提取地址?

【问题讨论】:

  • 为什么不让 Tramp 成为一个单独的函数呢?

标签: c reverse-engineering


【解决方案1】:

没有一种可移植的方式来获取 C 或其后代中标签的地址。

我看到您在使用 MSVC 的 Windows 上 - 明确说明平台(在本例中为编译器)版本通常会有所帮助。可能有一个特定的技巧,但可能没有。

也许您正在对某些汇编代码进行逆向工程,并且需要在汇编中合并更多代码。

【讨论】:

  • 我有工作代码,但在 2 个函数中,一个是流浪汉,另一个是 patchfunc,但当所有函数都在同一个函数中时,它看起来会更好。
  • @Yulo:“看起来更好”?与goto s ???这一定是我不熟悉的better这个词的新定义。
猜你喜欢
  • 1970-01-01
  • 2014-03-15
  • 2016-11-18
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 2019-02-03
  • 2019-04-21
  • 1970-01-01
相关资源
最近更新 更多