注册 登录
编程论坛 汇编论坛

来真的了 求指导

有容就大 发布于 2012-11-07 14:45, 755 次点击
在网上下了一个家庭财务管理系统

然后我想通过OD把他的汇编代码还原出来 然后 在改写成C语言或者C++的代码

大牛们帮看下 有希望成功吗?

只有本站会员才能查看附件,请 登录

--
只有本站会员才能查看附件,请 登录

14 回复
#2
zklhp2012-11-07 17:36
易语言、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#3
有容就大2012-11-07 18:49
回复 2楼 zklhp
其实也可以下个其他语言的
我是随便下的个软件
貌似用什么语言写的OD和IDA都能反汇编出来吧
还是有什么限制?
#4
wp2319572012-11-08 09:32
ida 可以把一部分函数还原成c代码  

但是要全部还原的话  貌似不现实啊
#5
wp2319572012-11-08 09:32
还不如比照它的功能模块一个一个的仿写了
#6
wp2319572012-11-08 10:13
这是我从IDA上抓下来的一段代码 :
int __cdecl main()
{
  unsigned __int64 v0; // st7@5
  char v2; // [sp+14h] [bp-74h]@1
  unsigned __int64 v3; // [sp+54h] [bp-34h]@5
  double v4; // [sp+5Ch] [bp-2Ch]@5
  double v5; // [sp+64h] [bp-24h]@3
  double v6; // [sp+6Ch] [bp-1Ch]@3
  double v7; // [sp+74h] [bp-14h]@5
  double v8; // [sp+7Ch] [bp-Ch]@3
  int i; // [sp+84h] [bp-4h]@1

  memset(&v2, -858993460, 0x74u);
  for ( i = 1; i <= 10; ++i )
  {
    printf("enter a b c:");
    scanf("%lf,%lf,%lf", &v8, &v6, &v5);
    if ( v8 + v6 <= v5 || v8 - v6 >= v5 )
    {
      printf("a=%.2f,b=%.2f,c=%.2f\n", *(_QWORD *)&v8, *(_QWORD *)&v6, *(_QWORD *)&v5);
    }
    else
    {
      v4 = v8 + v6 + v5;
      v7 = (v8 + v6 + v5) / 2.0;
      *(double *)&v0 = sqrt((v7 - v8) * v7 * (v7 - v6) * (v7 - v5));
      v3 = v0;
      printf("m=%.2f,area=%.2f\n", *(_QWORD *)&v4, v0, v0 >> 32);
    }
  }
  return _chkesp();
}
#7
有容就大2012-11-08 12:36
回复 6楼 wp231957
你 现在用IDA那个版本? 我看的视频竟然还用5.0
下了个5.5英文版的用
用OD和IDA那个好些?
#8
zklhp2012-11-08 13:02
以下是引用有容就大在2012-11-8 12:36:18的发言:

你 现在用IDA那个版本? 我看的视频竟然还用5.0
下了个5.5英文版的用
用OD和IDA那个好些?

OD是调试 IDA是静态反汇编 不一样的
#9
有容就大2012-11-08 13:51
回复 8楼 zklhp
OD算是动态的反汇编吧 得到的汇编代码有点乱 不过看他给的那些执行过程很有用
#10
wp2319572012-11-08 14:05
我用的是6.1  看雪有得下
#11
有容就大2012-11-08 14:27
回复 10楼 wp231957
好的 看雪的东西还真不错哦
#12
zklhp2012-11-08 18:48
以下是引用有容就大在2012-11-8 13:51:19的发言:

OD算是动态的反汇编吧 得到的汇编代码有点乱 不过看他给的那些执行过程很有用

OD是debuger 调试器 ida是disassember 反汇编器 不一样的
#13
有容就大2012-11-08 18:50
回复 12楼 zklhp
都用了下 确实不一样。
#14
hu9jj2012-11-09 12:24
只要花功夫,反汇编肯定是可以成功的。但是可能要花费不少时间。
#15
有容就大2012-11-09 22:37
回复 14楼 hu9jj
恩 这个东西是比较难 H版工作中都用到这方面的东西吗。
1