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

关于反汇编。望大神指引!

funyh250 发布于 2014-05-21 19:57, 1338 次点击
程序代码:
00B15570 55                   push        ebp  
00B1557C 8D BD FC FE FF FF    lea         edi,[ebp-104h]  
00B15582 B9 41 00 00 00       mov         ecx,41h  
00B15587 B8 CC CC CC CC       mov         eax,0CCCCCCCCh  
00B1558C F3 AB                rep stos    dword ptr es:[edi]  
00B1558E A1 E0 00 B2 00       mov         eax,dword ptr ds:[00B200E0h]  
00B15593 33 C5                xor         eax,ebp  
00B15595 89 45 FC             mov         dword ptr [ebp-4],eax  


在调试用C++编写的程序时 无意间看到反汇编(用的VS2012)
网上查了下 很感兴趣

1 望推荐几本入门,中级,高级的书籍
     入门的书籍最好是分析+举例,  空谈的读的乏味还不易懂
2 望分享你的反汇编工具
     在网上找了找  下了几个 都乱七八糟 全删了

望前人指点 拜谢!
11 回复
#2
ditg2014-05-21 20:46
《intel微处理器》

《intel 64 and IA-32软件开发手册》
#3
wp2319572014-05-22 08:10
首先你得懂汇编  然后才是反汇编  这有个顺序问题
#4
funyh2502014-05-22 11:19
回复 3 楼 wp231957
说的在理  受教了
指了条明路啊
拜谢!
#5
zklhp2014-05-22 12:17
1 望推荐几本入门,中级,高级的书籍

像上面的人说的一样 首先你得懂汇编 关于汇编的学习我一贯推荐一个精简的教程 搜我以前的帖子就有 一个chm

至于反汇编 我记得有个叫【卡巴斯基】的俄罗斯人有本书 讲的是C/C++反汇编的

国内也有很多书 更多的是针对软件保护的情况下的反汇编 这个我不关注了 所以举不出例子 去看雪论坛看看罢

2 望分享你的反汇编工具

我用过的有 不局限于反汇编工具了 调试器里面有反汇编功能的也算
GDB 写开源程序的时候用 命令行操作
OllyDbg 缺点是只能反汇编32位的 只能Windows下用 优点是操作起来容易
VS的调试器 也就是写程序的时候可以用 还有就是个别时候用来进行一些工作 其他时候用的少
WinDgb 类似上面VS带的 但更强大 优点是可以调试64位的 缺点 当然和上面的VS一样 不能跨平台
IDA 可能是最强的反汇编软件了罢

其他还有一些 但现在很少用了 比如我记得有个叫W32DASM的 但这些好像都不更新了 用的很少了
#6
zklhp2014-05-22 12:19
以下是引用ditg在2014-5-21 20:46:48的发言:

《intel微处理器》
 
《intel 64 and IA-32软件开发手册》

这些看完要花不少时间罢
#7
zklhp2014-05-22 12:24
以下是引用zklhp在2014-5-22 12:17:13的发言:

1 望推荐几本入门,中级,高级的书籍

像上面的人说的一样 首先你得懂汇编 关于汇编的学习我一贯推荐一个精简的教程 搜我以前的帖子就有 一个chm

至于反汇编 我记得有个叫【卡巴斯基】的俄罗斯人有本书 讲的是C/C++反汇编的

国内也有很多书 更多的是针对软件保护的情况下的反汇编 这个我不关注了 所以举不出例子 去看雪论坛看看罢

2 望分享你的反汇编工具

我用过的有 不局限于反汇编工具了 调试器里面有反汇编功能的也算
GDB 写开源程序的时候用 命令行操作
OllyDbg 缺点是只能反汇编32位的 只能Windows下用 优点是操作起来容易
VS的调试器 也就是写程序的时候可以用 还有就是个别时候用来进行一些工作 其他时候用的少
WinDgb 类似上面VS带的 但更强大 优点是可以调试64位的 缺点 当然和上面的VS一样 不能跨平台
IDA 可能是最强的反汇编软件了罢

其他还有一些 但现在很少用了 比如我记得有个叫W32DASM的 但这些好像都不更新了 用的很少了

https://bbs.bccn.net/thread-363529-1-1.html

可以看看这个贴。。
#8
funyh2502014-05-22 12:31
以下是引用zklhp在2014-5-22 12:17:13的发言:

1 望推荐几本入门,中级,高级的书籍

像上面的人说的一样 首先你得懂汇编 关于汇编的学习我一贯推荐一个精简的教程 搜我以前的帖子就有 一个chm

至于反汇编 我记得有个叫【卡巴斯基】的俄罗斯人有本书 讲的是C/C++反汇编的

国内也有很多书 更多的是针对软件保护的情况下的反汇编 这个我不关注了 所以举不出例子 去看雪论坛看看罢

2 望分享你的反汇编工具

我用过的有 不局限于反汇编工具了 调试器里面有反汇编功能的也算
GDB 写开源程序的时候用 命令行操作
OllyDbg 缺点是只能反汇编32位的 只能Windows下用 优点是操作起来容易
VS的调试器 也就是写程序的时候可以用 还有就是个别时候用来进行一些工作 其他时候用的少
WinDgb 类似上面VS带的 但更强大 优点是可以调试64位的 缺点 当然和上面的VS一样 不能跨平台
IDA 可能是最强的反汇编软件了罢

其他还有一些 但现在很少用了 比如我记得有个叫W32DASM的 但这些好像都不更新了 用的很少了


谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢!

希望有更多前辈进来分享你的学习心得和经验

正在学习的朋友也希望进来交流交流
#9
hu9jj2014-05-22 19:05
对加密了的程序,反汇编的工作量是非常大的。
#10
funyh2502014-05-22 20:05
学习之路很漫长啊

感谢大家的回答

#11
xkwy00002014-05-23 13:23
假想,
这段程序是在完成对一个位图的填充,
编译器完成得非常漂亮,
能够代替一个熟练的程序员,
始信。
#12
ditg2014-06-05 02:17
其实编译器的优化工作从未停止,如gcc就有多种编译优化选项可供选择,对应的汇编代码程序结构并不完全相同;另外随着硬件技术的进步这项工作也不可能停止,如多核的并行问题或者量子计算机……尽管目前编译器出汇编代码相当于顶级程序员的水平,但不排除未来由于理论或硬件层次上的突破而颠覆现有编译原理的可能性。
1