永发信息网

怎么通过EXE猜测C语言的源代码?

答案:6  悬赏:40  手机版
解决时间 2021-02-20 20:45
  • 提问者网友:藍了天白赴美
  • 2021-02-20 11:17
比如用C语言写了一个hello world.exe,怎么猜测原来的代码?Windows环境。
最佳答案
  • 五星知识达人网友:玩家
  • 2021-02-20 11:56
如果是没加壳的EXE文件的话,基本有两种工具:

1、w32dasm 静态反汇编工具,反汇编出来的是汇编代码,对汇编语言理解非常深刻的高手可能大概可以理解出某个函数内部的大概算法和思路。这种程度的,自己用汇编语言写个程序什么的估计也很轻松了。

2、OllyDBG动态调试工具,这个相对上面的静态反汇编工具属于新工具,顾名思义,可以动态一步一步跟踪调试EXE文件执行的汇编代码。优点是可以动态的看到当前程序运行状态,包括内存中的数据,寄存器里面的当前数值等。

其他工具就不太了解了。
全部回答
  • 1楼网友:不如潦草
  • 2021-02-20 15:37
我是332096943 加 扣扣332096943 我教你 发个软件名给你就被和谐了
  • 2楼网友:轻雾山林
  • 2021-02-20 15:05
反汇编
  • 3楼网友:青尢
  • 2021-02-20 13:29
exe文件是二进制的了,而且在编译的过程中编译器也会进行优化,c语言好像没有好的反编译软件,其他语言的反编译软件反编译出来的也跟实际的代码差别很大,几乎不同,还有就是反汇编,不过这需要你对汇编语言比较了解。
  • 4楼网友:山有枢
  • 2021-02-20 12:24
使用调试软件调试汇编代码。然后自己通过汇编代码分析出C的源代码!
  • 5楼网友:底特律间谍
  • 2021-02-20 12:11
你只要能把EXE文件的代码段转换成汇编,然后根据C语言的编译规则就可以猜测他的源码大概是啥,不过机器码中的变量和所谓的函数都是无名的(反编译成汇编肯定是不会凭空产生个名字),变量就是个地址,函数名只是个指针值,所有东西都是数字,你至少在名字上就没法还原(不过这不重要,名字重新起)。。。 EXE文件的结构很复杂,就算你看得懂,但大多数EXE文件都是加密的(不加密都被别人山寨光了,还赚啥钱),所以即使你想通过反编译的手段得到源码,第一步就是对EXE解密。。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯