鱼C论坛

 找回密码
 立即注册
查看: 1913|回复: 7

[已解决]请版主发一下源码

[复制链接]
发表于 2018-6-24 10:51:55 | 显示全部楼层 |阅读模式
20鱼币
本帖最后由 wow7jiao 于 2018-6-24 11:06 编辑

下面是翻遍,我尝试逐条翻译,有错误请前辈指点

int main(void)
{
010BF840  push        ebp  //备份堆栈指针入堆栈
010BF841  mov         ebp,esp  //堆栈指针复制给备份堆栈指针
010BF843  sub         esp,0D8h  //为函数申请一段空间
010BF849  push        ebx  //
010BF84A  push        esi  //
010BF84B  push        edi  //寄存器压栈,保留现场
010BF84C  lea         edi,[ebp+FFFFFF28h]  //这是减负数吗,然后把值给edi
010BF852  mov         ecx,36h  //计数器54
010BF857  mov         eax,0CCCCCCCCh  //这里是int3吗?不用设置cs ip吗?
010BF85C  rep stos    dword ptr es:[edi]  //rep指令的目的是重复其上面的指令.ECX的值是重复的次数.。。STOS指令的作用是将eax中的值(eax=0CCCCCCCCh,这里拷贝54次eax有什么用?)拷贝到ES:EDI指向的地址.edi会同步减小。
         int a = 100;
010BF85E  mov         dword ptr [ebp-8],64h  //这里是把100放进堆栈
         int *p = &a;
010BF865  lea         eax,[ebp-8]  //把备份指针的偏移值给eax
010BF868  mov         dword ptr [ebp-14h],eax  //把偏移值在放进向上20字节堆栈空间?

         printf("%d\n", *p);
010BF86B  mov         eax,dword ptr [ebp-14h]  
010BF86E  mov         ecx,dword ptr [eax]  
010BF870  push        ecx  
010BF871  push        1153E50h  
010BF876  call        010BBD9B  //段间转移,pushcs,puship,去010BBD9B地址。
010BF87B  add         esp,8  
         return 0;
010BF87E  xor         eax,eax  //异或,eax清0
}
最佳答案
2018-6-24 10:51:56
wow7jiao 发表于 2018-6-24 14:59
请人造人老师发布一下,您发的反汇编对应的源码是什么?
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int a = 100;
  5.         int *p = &a;
  6.         printf("%d\n", *p);

  7.         return 0;
  8. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-24 10:51:56 | 显示全部楼层    本楼为最佳答案   
wow7jiao 发表于 2018-6-24 14:59
请人造人老师发布一下,您发的反汇编对应的源码是什么?
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int a = 100;
  5.         int *p = &a;
  6.         printf("%d\n", *p);

  7.         return 0;
  8. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-24 13:47:30 | 显示全部楼层
这个翻译有好多问题
先把反汇编发完整
从main函数开始,到main函数返回(ret 指令)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-6-24 14:08:31 | 显示全部楼层
人造人 发表于 2018-6-24 13:47
这个翻译有好多问题
先把反汇编发完整
从main函数开始,到main函数返回(ret 指令)

版主,这就是你发的啊
http://bbs.fishc.com/thread-117286-1-1.html

我没看懂,所以尝试翻译下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-24 14:11:31 | 显示全部楼层
wow7jiao 发表于 2018-6-24 14:08
版主,这就是你发的啊
http://bbs.fishc.com/thread-117286-1-1.html

我不是版主^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-6-24 14:40:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-24 14:41:16 | 显示全部楼层
wow7jiao 发表于 2018-6-24 14:40
http://bbs.fishc.com/thread-83878-1-1.html

我记得你通过了

现在不是了
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-6-24 14:59:17 | 显示全部楼层

请人造人老师发布一下,您发的反汇编对应的源码是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表