主题:[讨论]请问学会了汇编语言是否能破解任何软件?
逍遥随缘
[专家分:30] 发布于 2007-05-25 18:14:00
汇编语言是很老的一门语言,可它比其他一门语言要难多了,直接面向指令码.也是最复杂的一门语言.学起来非常难.可是学会了汇编语言是否能破解任何软件?如果是那么我将学习汇编语言.听说用汇编语言写一个Windows下的窗口是很难的.对吗?
回复列表 (共13个回复)
沙发
Fhawker [专家分:0] 发布于 2007-06-18 21:05:00
不难,如果你用32位的那和Vc差不多了哦!!!
板凳
topzhengjie [专家分:160] 发布于 2007-06-18 22:20:00
汇编语言是计算机能够提供给用户的最快的、也是最有效的语言,也是能够利用计算机所有硬件特性并且能够直接控制硬件的唯一语言。也正因为汇编语言的如此特性,在对于程序的空间和实践要求很高的场合,以及需要直接控制硬件的应用场合,使用汇编语言是必不可少的。
再具体一点,汇编语言在比如:
① 破解密码软件核心部分,杀毒软件的扫描过程部分,非常具有优势(汇编语言编写成的程序的执行速度比C等快大约10倍)。
② unix操作系统的启动部分,也需要用到汇编语言。这些部分与硬件联系非常密切,而使用汇编语言,则刚好可以达到直接面向硬件的操作目的。
③ 而且,用汇编语言编写出来的病毒,效率高的实在令人兴奋啊。这对于某些人来说,也无疑可以成为学习汇编语言的一种动力。
3 楼
逍遥随缘 [专家分:30] 发布于 2007-06-19 17:53:00
有明白了!!!
那么搞CPU的也要汇编知识的?
也就是说,汇编可以破软件又可以搞硬件方面的!
我想知道,汇编语言是第几代的语言?
计算机的语言:机器语言010101、汇编语言二进制、八进制、十进制、十六进制、C语言C++是吗?
4 楼
liangbch [专家分:1270] 发布于 2007-06-20 22:33:00
汇编是破解软件的基础,但不等于学会汇编语言就能破解软件,好多软件的破解需要高度的技巧且很费功夫,解密和加密是一对矛盾,没有绝对的破不了的软件,也没有绝对可破的软件。
如果能够证明 你可以破解 某个软件那又怎样呢?倘若破解一个软件需要100年时间,而重写一个软件需要10年,你还会破解吗?
5 楼
逍遥随缘 [专家分:30] 发布于 2007-06-21 18:16:00
C\C++ JAVA 的源代码都要用(汇编)编译成指令码,计算机的CPU才可执行(010101).
如果我用汇编的方法,反汇编.先把它的软件反编译(把指令码)编译成源代码.是这样的吗?因为我对这些不太懂,请前辈们指点指点!好样小弟知道什么是反汇编?
6 楼
liangbch [专家分:1270] 发布于 2007-06-22 10:22:00
反汇编是可以做到的,但做到反编译却很困难。
首先你要知道这个软件是用哪个编译器(哪个版本)编译的,这样才可能反编译出接近原始码的源代码。因为同一个程序,用不同编译器编译出来的目标代码差异很大,特别是许多现代的编译器,采用了很多优化技术,编译出来的代码面目全非。
因此要想很好的反编译,必须知道这个编译器编译代码特点。但即使这样,效果也不太理想,因为这一过程不可逆的,即很难将目标代码变换为和原来代码一模一样的代码。
即使做到了,反编译后的变量名和函数名也无法和原始的保持一致。让你读一个到处充满了var1,var2,var3这样的变量,和func1,func2,func3这样的函数名称,你肯定会感到很累。
不过有些语言编译后的目标码,保留了源代码的很多信息,甚至变量名也全部保留,对于这样的中间码的反编译,是完全可行的。如可将foxpro的目标码反编译成源代码。
7 楼
逍遥随缘 [专家分:30] 发布于 2007-06-24 13:20:00
6楼
我以为只有汇编语言才能把C.C++等的源代码编译成指令码CPU才可执行.
你说的很有道理!哦^^^那么现在的编译程序有很多了!哎```有点失望...
8 楼
忘忧→志在必得 [专家分:120] 发布于 2007-06-24 21:47:00
这学期学完汇编了,觉得只是学完课本上的、写一些小程序还不够啊,该怎么进一步学习呢?
比如象大家说的那样,去编写① 破解密码软件核心部分② unix操作系统的启动部分...
做一些实用的。
9 楼
逍遥随缘 [专家分:30] 发布于 2007-07-02 16:44:00
我要破解像灰鸽子这样强大的软件!
请问要多少时间?
1个月? 2个月? 3个月……
10 楼
liangbch [专家分:1270] 发布于 2007-07-04 14:02:00
这个问题就不好回答了,视你能力而定,你的能力有多强,恐怕谁也不知道。就好比说有一道特难的数学题(或者魔方),你需要多长时间能够解出一样。
我来回复