朱朱你堕落了 发表于 2021-4-10 00:27

求助:delphi函数反编译

经常看到delphi程序中有这个东西,很明显,这就是比较两个字符串是否相等的。(确切的说,是比较指针?)



那么问题来了,这只是导入map后反汇编看到的,因为不知道源码比较时用的是什么函数。
所以我在网上搜索了一些常用的delphi比较函数,感觉是,上面这个比较函数反正逃不出过下面这些常用的函数。
就是说,肯定是由下面的某一个函数反汇编而来。



那么它到底对应于哪个函数呢?我本想一个一个的写函数编译出来delphi,之后放到OD中看,但是就是几行的delphi语句写起来,各种编译错误,放弃了。

还是求助各位大佬吧。

爱飞的猫 发表于 2021-4-10 00:27

+1,应该是 Delphi 自己的字符串对比(等号)。

看了下 Free Pascal 的源码,没有 UStrEqual 这个东西,能找到的类似的函数也只有 WideCompareStr 和 UnicodeCompareStr

云在天 发表于 2021-4-10 01:11

emm有可能不是上述函数,只是 = 这个符号
如果是IDR导出的map 可以参考以下代码
      //@UStrEqual
      if (SameText(&name, "StrEqual"))
      {
            kind = ikProc;
            procInfo->AddArg(0x21, 0, 4, "Left", _sname);
            procInfo->AddArg(0x21, 1, 4, "Right", _sname);
            return true;
      }
在相关delphi的支持库中也有相同的函数

冥界3大法王 发表于 2021-4-10 07:40

delphi参考函数pdf没下一本?
页: [1]
查看完整版本: 求助:delphi函数反编译