汇编代码翻译为abs函数的调用

以下是一段汇编代码:

cpp 复制代码
  mov     eax, esi
  sub     eax, ecx
  mov     edx, eax
  sar     edx, 1Fh
  xor     eax, edx

IDA把上述代码准确地翻译为:

abs(a1 - a3)

即是计算(a1 - a3)的绝对值。

以下是另一段代码:

cpp 复制代码
  mov     eax, [ebx+4]
  sub     eax, [ecx+4]
  mov     edx, eax
  sar     edx, 1Fh
  xor     eax, edx

但是,IDA把它翻译为:

cpp 复制代码
  v5 = *(_DWORD *)(a1 + 4) - *(_DWORD *)(a2 + 4);
  x6 = (signed int)((HIDWORD(v5) ^ v5) - HIDWORD(v5);

上述代码实际也是计算2个变量之差的绝对值。

根据上下文,a1与a2是2个有相同结构类型的指针,因此要翻译为:

abs(a1->_4 - a3->_4)

相关推荐
小木_.18 天前
【web js逆向分析易盾滑块fp参数】逆向分析网易易盾滑块的 fp 参数,仅供学习交流
javascript·网易滑块·web逆向·分享·逆向分析·网易滑块分析
小木_.24 天前
【分析某音乐网站】分析一款音乐网站,并实现无限制的下载当前网站里所有的音乐
学习·分析·逆向分析
小木_.2 个月前
【python 逆向分析某有道翻译】分析有道翻译公开的密文内容,webpack类型,全程扣代码,最后实现接口调用翻译,仅供学习参考
javascript·python·学习·webpack·分享·逆向分析
西杭6 个月前
MAC打开IDA Pro意外退出
macos·ida
Karle_6 个月前
【逆向日记】1.关于YOLO视觉Ai软件逆向分析
yolo·逆向分析·逆向笔记
muyiGin7 个月前
南京大学计算机基础(四)踩坑笔记
ida·gdb·计组·南京大学
怜渠客8 个月前
记一次源码部分丢失后补救过程
ida·逆向·freebasic
剁椒排骨9 个月前
BUUCTF靶场 [reverse]easyre、reverse1、reverse2
网络安全·数据分析·ida·逆向·ctf·reverse·反汇编
JICEY10 个月前
JS解混淆
渗透测试·逆向分析