永发信息网

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

答案:6  悬赏:40  手机版
解决时间 2021-02-20 20:45
比如用C语言写了一个hello world.exe,怎么猜测原来的代码?Windows环境。
最佳答案
如果是没加壳的EXE文件的话,基本有两种工具:

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

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

其他工具就不太了解了。
全部回答
我是332096943 加 扣扣332096943 我教你 发个软件名给你就被和谐了
反汇编
exe文件是二进制的了,而且在编译的过程中编译器也会进行优化,c语言好像没有好的反编译软件,其他语言的反编译软件反编译出来的也跟实际的代码差别很大,几乎不同,还有就是反汇编,不过这需要你对汇编语言比较了解。
使用调试软件调试汇编代码。然后自己通过汇编代码分析出C的源代码!
你只要能把EXE文件的代码段转换成汇编,然后根据C语言的编译规则就可以猜测他的源码大概是啥,不过机器码中的变量和所谓的函数都是无名的(反编译成汇编肯定是不会凭空产生个名字),变量就是个地址,函数名只是个指针值,所有东西都是数字,你至少在名字上就没法还原(不过这不重要,名字重新起)。。。 EXE文件的结构很复杂,就算你看得懂,但大多数EXE文件都是加密的(不加密都被别人山寨光了,还赚啥钱),所以即使你想通过反编译的手段得到源码,第一步就是对EXE解密。。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
赛扬双核3215u处理器好不好
汽水用英文怎么说
【地下水检测】地下水现场监测项目有哪些?
中国建设银行常州钟楼支行怎么去啊,有知道地
带鱼买什么样的好?
关于不动产物权的设立、变更、转让、消灭的说
visual studio2008中的编译按钮在哪里啊?
广丰鹿产品加工公司怎么去啊,有知道地址的么
坦克世界战斗中拼音打字没字选求大神帮解
罗二火锅地址在什么地方,想过去办事
【2012月历】下表是2012年9月份的月历.观察这
有什么号的关于金融的博客 或者订阅号
日彩化妆品有限公司地址在哪,我要去那里办事
平行四边形定则中,如何求合力?
小麦的叶肉细胞通过光合作用合成葡萄糖,组成
推荐资讯
剑阁县到阆中的高速过关费是多少钱
那位大神帮我推荐一款2000元以内的带WIN7的平
Lol有没有什么做教新手上路的视频的主播,最
有一辆铲车车停在路边,要过去就要压线,算违章
四季尚品东北自助烤肉火锅在哪里啊,我有事要
阿家岭隧道地址在哪,我要去那里办事
我儿子中考考了557分,读杨家坪中学能读得到
办理普通身份证20天后能准时拿到吗
双排坐后单轮五十铃上高速怎么收费
王爻我想知道这个在什么地方
中亿网吧地址在哪,我要去那里办事
电子琴的黑色键代表什么音?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?