反汇编语言的大概操作
这样说吧。高级语言经过编译器后生成的是机器代码。汇编代码是机器代码的一种简单的表示形式
而反汇编则是一种操作,把EXE文件中的机器代码全部用汇编代码表示出来。
如果下一步要破解软件,人就需要把汇编代码理解,还原,改写成高级语言,再修改代码达到目的
黑客入门
具体说一下,掌握的技术
1.熟练掌握 C语言,汇编语言
基本上黑客新手都要学到disassemble(反汇编),就是通过一个程序运行的汇编套路来分析其源代码。并用c语言进行测试。汇编要掌握到(stack,protected mode,data segment,ESP,EBP...),C语言(bit-field, stdcall...)
2.计算机原理
分析程序数据没有十进制,只有2进制和16进制(就是0101 0010或0xFF...),要懂得基本运算。还有big/little-endian等基本术语,会用WinHex/UltraEdit或VS的dempbin分析程序。
3.网络:TCP/IP(TCP,UDP,ICMP,DNS,IP等许多协议),会截取数据包,还有分析frame,结合telnet/ftp/c语言的socket等命令进行网络打劫!这部分最难最枯燥,建议看understanding TCP/IP这本书
4.系统的认知!了解Windows内部API,sockets编程,IP proxy(IPv6最好也学),真正的黑客是几乎漏不出马脚的!
这些就是基础,然后熟练掌握各种操作流程,可以强行进行telnet,或进行TCP hijack,或夺取远程sid等。。。还有很多要学,根本数不完。
推荐你看一下几本书(我看过许多书,走过弯路,这是整理后的最优选择)
1.Assembly language step-by-step
掌握汇编语言,和CPU运行机制,内存模式等
2.the C programming language
C语言的灵魂制作
3.(C++可以了解一下)C++ from ground up或C++ premier
C++在底层其实代替不了C
4.Understanding TCP/IP
TCP/IP网络的精髓,最黑客的前提!
这些都是技术,接下来再看专门的黑客辅导书
1.No Scrach.Hacking the art of exploiting
太经典了,C+汇编+TCP/IP 叫你很多黑客方法
2.Hacking assembly
详解程序反汇编,跟汇编关系很大,3.Hacking Exposed
一些黑客实例,巩固一下实力。
(知道的不是很多)
反汇编怎么入门?
反汇编的基础是汇编,先学《汇编语言》(王爽),再看《Windows环境下32位汇编语言程序设计》(罗云彬),《加密与解密》(段刚)也是必看的,Debug,IDA的使用都有讲,这就算入门了...
黑客的知识
我也正在学习黑客呵呵,我现在可以不太费力摧毁一个简单的C语言写的密码保护机制程序。截取TCP/IP数据包,还有一些比较基本的。
具体说一下,掌握的技术
1.熟练掌握 C语言,汇编语言
基本上黑客新手都要学到disassemble(反汇编),就是通过一个程序运行的汇编套路来分析其源代码。并用c语言进行测试。汇编要掌握到(stack,protected mode,data segment,ESP,EBP...),C语言(bit-field, stdcall...)
2.计算机原理
分析程序数据没有十进制,只有2进制和16进制(就是0101 0010或0xFF...),要懂得基本运算。还有big/little-endian等基本术语,会用WinHex/UltraEdit或VS的dempbin分析程序。
3.网络:TCP/IP(TCP,UDP,ICMP,DNS,IP等许多协议),会截取数据包,还有分析frame,结合telnet/ftp/c语言的socket等命令进行网络打劫!这部分最难最枯燥,建议看understanding TCP/IP这本书
4.系统的认知!了解Windows内部API,sockets编程,IP proxy(IPv6最好也学),真正的黑客是几乎漏不出马脚的!
这些就是基础,然后熟练掌握各种操作流程,可以强行进行telnet,或进行TCP hijack,或夺取远程sid等。。。还有很多要学,根本数不完。
推荐你看一下几本书(我看过许多书,走过弯路,这是整理后的最优选择)
1.Assembly language step-by-step
掌握汇编语言,和CPU运行机制,内存模式等
2.the C programming language
C语言的灵魂制作
3.(C++可以了解一下)C++ from ground up或C++ premier
C++在底层其实代替不了C
4.Understanding TCP/IP
TCP/IP网络的精髓,最黑客的前提!
这些都是技术,接下来再看专门的黑客辅导书
1.No Scrach.Hacking the art of exploiting
太经典了,C+汇编+TCP/IP 叫你很多黑客方法
2.Hacking assembly
详解程序反汇编,跟汇编关系很大,3.Hacking Exposed
一些黑客实例,巩固一下实力。
如何进行反汇编?
你是想问如何反汇编还是想问反汇编有什么用?
如果是如何反汇编,那很简单
OllyDBG是最常用的ring3层动态反汇编工具
WinDBG和SoftICE是强大的ring0层动态反汇编工具~
而静态反汇编必然是IDA最为强大了~~
方法简单的令人蛋疼……就是把你要反汇编的程序拖拽到反汇编器里即可~
WinDBG和SoftICE可能不支持拖拽……那就文件--打开……就这样~
反汇编程序自动完成反汇编的工作……
其实难点不在于反汇编本身
而是利用反汇编去完成我们要做的目标~~
这是一门学问~也不是一句话两句话能教会的~~~
至于反汇编能做什么用
并不像某位匿名用户说的那样肮脏~
心中有佛则处处是佛~
心中有狗屎则处处是狗屎
连名字都不敢露可见其本身心理的阴暗程度……
刀可以杀人也可以救人
反汇编只是一种手段,一种工具
它本身并没有好坏之分,关键要看谁在使用,使用的目的是什么~~
确实,反汇编可以逆向别人的劳动成果收为己用,可以破解别人的程序侵害利益
但同时,如果逆向的是一个病毒,就可以分析它的工作原理,找出防御和查杀这种病毒的方法
而反汇编一个软件,有时也能发掘出这款软件的漏洞所在
所以对反病毒和漏洞分析的从业人员来讲,反汇编是必备的基础技能~
正与邪,好与坏
在于人,不在于工具~~~
怎么学会读懂反汇编语言 就是od里面那种 我只会一些比如jmp je jnz 。。。。这些指令
我最近也在学习中 推荐你几本书《天书夜读—从汇编语言到Windows内核编程》《黑客反汇编揭秘》 网上能找到电子版 第一本前几章讲了些基础,后一本就比较专业,还讲到了各编译器间的差别,推荐先看第一本,起码就能知道怎么入手了......
如何学好汇编语言?
正如你所说需要大量的训练,给你介绍个网站,我觉得还可以
http://www2.zzu.edu.cn/qwfw/index.asp
另外要验证你写的程序是否正确,可用微软的masm软件
masm是微软出的汇编编译器,支持8088/8086架构的汇编语言,在DOS下运行,需要下载。masm包括:
(1)编辑程序edit.exe
(2)汇编程序masm.exe
(3)连接程序link.exe
(3)调试程序debug.exe
基本使用方法如下,仅供参考:
用之前最好把上面的几个文件保存到盘符下的文件夹里,文件夹名字尽量简单明了,一切为了操作简单。
(1)最好不要用edit.exe,而用记事本编辑汇编程序,这样操作比较方便。保存时,文件类型选为所有文件,再在文件名后面加上.asm,保存即可。
(2)打开命令提示行(运行--输入cmd--确定),敲命令进入masm所在文件夹,输入masm *.asm(*表示文件名)回车。
这时会提示
Object filename [*.OBJ]:
表示要生成的目标文件名称,必须填,然后回车。提示
Source listing [NUL.LST]:
表示是否要生成列表文件,填写这生成.lst文件,不填则放弃生成.lst文件。.lst文件用记事本打开能看到源代码的语法错误,查错想当方便,****强烈建议生成****。回车后提示
Cross-reference [NUL.CRF]:
表示生成交叉引用文件.crf,如果有多个.obj文件参与连接就要生成,回车后显示错误数量等信息,编译完成。
(3)输入link *(.obj文件名)
一路回车,返回时已经生成了*.exe。
(4)debug使用比较复杂,不多介绍