小甲鱼 发表于 2011-11-26 17:09:40

【悬赏促学习】逆向基础

请将下面是这个汇编代码写成C语言的形式(GDB输出):

0x8048430 <fishC>:      push %ebp
0x8048431 <fishC + 1>:mov %esp, %ebp
0x8048433 <fishC + 3>:push %edi
0x8048434 <fishC + 4>:push %esi
0x8048435 <fishC + 5>:sub $0x30, %esp
0x8048438 <fishC + 8>:lea 0xffffffd8(%ebp), %edi
0x804843b <fishC + 11>: mov $0x8049508, %esi
0x8048440 <fishC + 16>: cld
0x8048441 <fishC + 17>: mov $0x30, %esp
0x8048446 <fishC + 22>: repz movsl %ds:(%esi), %es:(%edi)
0x8048448 <fishC + 24>: mov 0x8(%ebp), %eax
0x804844b <fishC + 27>: mov %eax, %edx
0x804844d <fishC + 29>: imul 0xc(%ebp), %edx
0x8048451 <fishC + 33>: mov %edx, %eax
0x8048453 <fishC + 35>: sar $0x1f, %eax
0x8048456 <fishC + 38>: shr $0x1f, %eax
0x8048459 <fishC + 41>: lea (%eax, %edx,1), %eax
0x804845c <fishC + 44>: sar %eax
0x804845e <fishC + 46>: mov %eax, oxffffffd4(%ebp)
0x8048461 <fishC + 49>: mov 0xffffffd4(%ebp), %eax
0x8048464 <fishC + 52>: mov %eax, %eax
0x8048466 <fishC + 54>: add $0x30, %esp
0x8048469 <fishC + 57>: pop %esi
0x804846a <fishC + 58>: pop %edi
0x804846b <fishC + 59>: pop %ebp
0x804846c <fishC + 60>: ret



http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 小甲鱼的微博

指尖豆蔻 发表于 2011-11-26 17:09:41

int FishC( int i, int j )
{
        int array = { 0,1,2,3,4 };
        int area;
        area = i * j / 2;
       
        return (area);
}
太简单了这个···来点难一点吧,鱼总!{:5_97:}

isaced 发表于 2011-11-26 17:30:40

:o:o支持下!!!!!!!!

小B同学 发表于 2011-11-26 20:36:52

:@:@:@不会,还没学你想

风扫地 发表于 2011-11-26 22:55:11

不像标准的asm语法。。多了不少东东。。看看先。

ascxyh009 发表于 2011-11-27 05:57:46

想学逆向   求小甲鱼老师推荐几本入门的书{:5_109:}

ascxyh009 发表于 2011-11-27 06:01:06

还有   即使我弄懂了每一条汇编语句都干了什么还是不知道和c语言这么对应啊
难道是分析出功能在用c实现出来???

zgt2008 发表于 2011-11-28 15:15:46

寄存器前面的%是啥意思

小甲鱼 发表于 2011-11-28 22:25:38

zgt2008 发表于 2011-11-28 15:15 static/image/common/back.gif
寄存器前面的%是啥意思

GDB的风格,不用管它的~

zgt2008 发表于 2011-12-1 10:49:26

明白了,谢谢!

川本姨夫 发表于 2011-12-1 11:40:38

linux格式的汇编- -,压力很大
前6行是子程序国际惯例,保存ebp,和esp,edi,esi,7行是留出空间给局部变量,从第八行到23行是子程序实现内容,后边打扫堆栈返回。


    里边的子程序内容实在不懂,但是好像是将传进来的两个字符串换了个位,还是将一串字符串复制到另一个地方,有点模糊。只能打这么多了{:5_107:}

witkeyxiaoyong 发表于 2011-12-6 15:00:49

学习学习:lol...

y290176346 发表于 2015-10-8 21:47:48

感谢楼主谢谢你 学习了
页: [1]
查看完整版本: 【悬赏促学习】逆向基础