57、函数相关特性与参数传递方法解析

函数相关特性与参数传递方法解析

函数特性
  1. 连续函数关联
    在代码分析中,如果看到两个或多个连续的函数,通常意味着它们位于同一个源代码文件中(除非处于两个目标文件的边界)。这表明这些函数有一定的共性,比如来自同一 API 级别或同一库。例如,在搜索与 Twofish 相关的函数时,找到 Twofish::Base::UncheckedSetKey() 函数后,查看 twofish.cpp 源代码发现所有相关函数都在该模块中,随后尝试其后续函数,找到了 Twofish::Enc::ProcessAndXorBlock() Twofish::Dec::ProcessAndXorBlock()
  2. 微小函数优化
    像空函数或仅返回 “true”(1)或 “false”(0)的微小函数很常见。几乎所有不错的编译器倾向于在生成的可执行代码中只保留一个这样的函数,即使源代码中有多个类似函数。所以,当看到一个仅由 mov eax, 1 / ret 组成且被多处引用(可调用)的微小函数时,这可能是编译器优化的结果。
  3. C++ RTTI 数据
    RTTI(运行时类型信息)数据可用于 C++ 类的识别。
  4. 故意崩溃调试
    有时需要知道哪些函数被执行,哪些未被执行。在没有合适调试器的特殊架构中,最简单的方法是插入无效操作码或
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值