PC逆向 -- 加减乘除对应的汇编代码

admin 2022年4月20日00:44:48评论23 views字数 3093阅读10分18秒阅读模式

一、X86加法汇编代码           

  int a = 0;00632165  mov         dword ptr [ebp-8],0       9:       int b = 0;0063216C  mov         dword ptr [ebp-14h],0      10:       a = a + 1;00632173  mov         eax,dword ptr [ebp-8]  00632176  add         eax,1  00632179  mov         dword ptr [ebp-8],eax      11:       a = 1 + 2;0063217C  mov         dword ptr [ebp-8],3      12:       a = a + b;00632183  mov         eax,dword ptr [ebp-8]  00632186  add         eax,dword ptr [ebp-14h]  00632189  mov         dword ptr [ebp-8],eax

二、X64加法汇编代码         

  int a = 0;00007FF6EE59190B  mov         dword ptr [rbp+4],0       9:       int b = 0;00007FF6EE591912  mov         dword ptr [rbp+24h],0      10:       a = a + 1;00007FF6EE591919  mov         eax,dword ptr [rbp+4]  00007FF6EE59191C  inc         eax  //自加1操作00007FF6EE59191E  mov         dword ptr [rbp+4],eax      11:       a = 1 + 2;00007FF6EE591921  mov         dword ptr [rbp+4],3      12:       a = a + b;00007FF6EE591928  mov         eax,dword ptr [rbp+24h]  00007FF6EE59192B  mov         ecx,dword ptr [rbp+4]  00007FF6EE59192E  add         ecx,eax  00007FF6EE591930  mov         eax,ecx  00007FF6EE591932  mov         dword ptr [rbp+4],eax  


三、X86减法汇编代码          

  int a = 100;00C21925  mov         dword ptr [ebp-8],64h      16:       int b = 50;00C2192C  mov         dword ptr [ebp-14h],32h      17:       a = a - 5;00C21933  mov         eax,dword ptr [ebp-8]  00C21936  sub         eax,5  00C21939  mov         dword ptr [ebp-8],eax      18:       a = a + 6 - b;00C2193C  mov         eax,dword ptr [ebp-8]  00C2193F  add         eax,6  00C21942  sub         eax,dword ptr [ebp-14h]  00C21945  mov         dword ptr [ebp-8],eax  


四、X64减法汇编代码       

      int a = 100;00007FF64629190B  mov         dword ptr [rbp+4],64h      16:       int b = 50;00007FF646291912  mov         dword ptr [rbp+24h],32h      17:       a = a - 5;00007FF646291919  mov         eax,dword ptr [rbp+4]  00007FF64629191C  sub         eax,5  00007FF64629191F  mov         dword ptr [rbp+4],eax      18:       a = a + 6 - b;00007FF646291922  mov         eax,dword ptr [rbp+4]  00007FF646291925  add         eax,6  00007FF646291928  sub         eax,dword ptr [rbp+24h]  00007FF64629192B  mov         dword ptr [rbp+4],eax  


五、X86乘法汇编代码

  int a = 1;001D1925  mov         dword ptr [ebp-8],1      21:       int b = 2;001D192C  mov         dword ptr [ebp-14h],2      22:       a = a * 5;001D1933  imul        eax,dword ptr [ebp-8],5  001D1937  mov         dword ptr [ebp-8],eax      23:       a = 6 * 7;001D193A  mov         dword ptr [ebp-8],2Ah      24:       a = a * b;001D1941  mov         eax,dword ptr [ebp-8]  001D1944  imul        eax,dword ptr [ebp-14h]  001D1948  mov         dword ptr [ebp-8],eax  


六、X64乘法汇编代码

int a = 1;00007FF6B84C190B  mov         dword ptr [rbp+4],1      21:       int b = 2;00007FF6B84C1912  mov         dword ptr [rbp+24h],2      22:       a = a * 5;00007FF6B84C1919  imul        eax,dword ptr [rbp+4],5  00007FF6B84C191D  mov         dword ptr [rbp+4],eax      23:       a = 6 * 7;00007FF6B84C1920  mov         dword ptr [rbp+4],2Ah      24:       a = a * b;00007FF6B84C1927  mov         eax,dword ptr [rbp+4]  00007FF6B84C192A  imul        eax,dword ptr [rbp+24h]  00007FF6B84C192E  mov         dword ptr [rbp+4],eax


七、X86除法汇编代码

int a = 16;000E1925  mov         dword ptr [ebp-8],10h      21:       int b = 18;000E192C  mov         dword ptr [ebp-14h],12h      22:       a = a /4;000E1933  mov         eax,dword ptr [ebp-8]  000E1936  cdq                  //CDQ指令的功能是:把edx的每一位置用eax的最高位填充,意思就是说把EAX由32位扩展成64位,eax除以ecx,商保存在eax,余数放在edx000E1937  and         edx,3  000E193A  add         eax,edx  000E193C  sar         eax,2  000E193F  mov         dword ptr [ebp-8],eax      23:       a = 18 / 9;000E1942  mov         dword ptr [ebp-8],2      24:       a = b / a;000E1949  mov         eax,dword ptr [ebp-14h]  000E194C  cdq  000E194D  idiv        eax,dword ptr [ebp-8]  000E1950  mov         dword ptr [ebp-8],eax  


八、X64法汇编代码

    int a = 16;00007FF7974C190B  mov         dword ptr [rbp+4],10h      21:       int b = 18;00007FF7974C1912  mov         dword ptr [rbp+24h],12h      22:       a = a /4;00007FF7974C1919  mov         eax,dword ptr [rbp+4]  00007FF7974C191C  cdq  00007FF7974C191D  and         edx,3  00007FF7974C1920  add         eax,edx  00007FF7974C1922  sar         eax,2  00007FF7974C1925  mov         dword ptr [rbp+4],eax      23:       a = 18 / 9;00007FF7974C1928  mov         dword ptr [rbp+4],2      24:       a = b / a;00007FF7974C192F  mov         eax,dword ptr [rbp+24h]  00007FF7974C1932  cdq  00007FF7974C1933  idiv        eax,dword ptr [rbp+4]  00007FF7974C1936  mov         dword ptr [rbp+4],eax  

禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧

PC逆向 -- 加减乘除对应的汇编代码


原文始发于微信公众号(web安全工具库):PC逆向 -- 加减乘除对应的汇编代码

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月20日00:44:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PC逆向 -- 加减乘除对应的汇编代码http://cn-sec.com/archives/928362.html

发表评论

匿名网友 填写信息