这是标准吗? (这是RTTI)
如果这样,该怎么称呼?
是否有插件或工具可以帮助您解决此问题?
#1 楼
它具有assert
的指纹:它在测试后立即被调用;
它使用一个数字-可能是源行号-一个指向的字符串文件名-源文件-和描述错误情况的字符串;
它不返回。 (可以推断出来,因为如果返回调用的函数,检查的值将导致错误的情况。)
assert
是大多数(如果不是全部都是!)标准库中的标准函数,如果反编译器可以识别使用了哪个编译器,它将为sub_6E0D40
分配一个标准标签。既然没有,您可以跟踪该地址并查看(a)它是否立即跳转到诸如Windows的本机Assert
之类的外部例程,或者(b)执行断言的操作:输出错误并立即退出。 /> 增加:使用堆栈加寄存器ecx和edx似乎表明此子句被声明为“ Microsoft
__fastcall
”(维基百科)。
评论
sub_6E0D40是__fastcall,而不是__stdcall。参见en.wikipedia.org/wiki/…
–詹森·格夫纳(Jason Geffner)
13-10-9在20:48
@JasonGeffner:您是对的,我的(错误的)裁判说ecx和edx被“指定在函数内使用”,这恰恰相反。编辑。
–杂件
2013年10月9日23:56