| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3565 人关注过本帖
标题:求反汇编软件……
只看楼主 加入收藏
sidooh
Rank: 4
等 级:业余侠客
帖 子:121
专家分:265
注 册:2009-6-26
收藏
得分:0 
IDA没用过,一般是用db吧,可以搜索下载到

看没有源代码的程序如何怎样运作确实需要反汇编,也可以hook(这个难度比较低)
如果看自己程序怎么运作,用调试器就可以了

另外cheatengine也可以反汇编
2010-07-13 19:52
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
小弟轻抚茶花笑而不语

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-07-13 20:45
phrankmoon
Rank: 2
等 级:论坛游民
帖 子:32
专家分:15
注 册:2010-7-15
收藏
得分:0 
以下是引用BlueGuy在2010-7-13 18:38:26的发言:

我给你证明一个问题: 反汇编是用来 zhuangbi 的,/

定理: 一段正确的 c 语言程序 必然 会 翻译成一段正确的 汇编代码
如果这个 定理不成立, 那么 连正确的 汇编代码 都生成不出来,还去反汇编,有没意义?
如果 一个程序员连 c 语言的代码都分不清是正确的还是错误的, 还去反汇编,有没意义?

推论:最麻烦的 bug 就是 内存非法仿问 和 内存泄漏了
 如果其他的语法问题,还去反汇编, 有没意义?

假设:程序在某一段代码处崩了
如果崩的位置有明确的 c 语言错误, 还去反汇编有没意义?
如果崩的位置没有错误, 可以断定是其他的代码意外修改了内存,上万行的代码, 从 c 语言这个宏观的角度
    都不能定位错误, 还去反汇编, 一目十行,1年也看不出个所以然, 有没意义?
如果内存非法仿问, 程序发布后,没有出现异常, 一个错误都还没表现出来的程序, 还去反汇编有没意义?

假设:程序存在内存泄漏问题,
如果在 c 语言的级别上, 可以在 malloc/free记录, 然后 根据 malloc 与 free 配对,
遍历列表判断 内存泄漏, 实在不懂 汇编级调试 怎么来 定位 内存泄漏

例证:
c 库中有安全隐患的函数最明显的就是 字符串处理函数了,
像 scanf(), gets(), strcpy(), sprintf(),
看 sprintf()函数吧,

#include <stdio.h>
int main(void)
{
   char s[5] = {0};
   sprintf(s, "%s", "blueguy");
   return 0;
}
汇编级调试高手 阿Q 反汇编了,一行一行的看, 将栈顶指针esp, 栈底指针ebp压栈,保存 函数的返回地址,
给 局部变量 s 分配 5个字节,esp 下移 5个字节, 调用 sprintf()函数,将 "blueguy" 复制到 s[]中,
不费吹灰之力发现,原来是 y 覆盖了函数的返回地址啊,阿Q的精神胜利法起作用了:
利用汇编可以明确的看到 程序的运行情况, 明确的看到 栈的分配情况,明确的看到栈是怎么被破坏的。

好了, 阿Q, 你胜利了, 全世界都被你打败了,

我曾做过4年的病毒分析,可以证明反汇编不是用来 zhuangbi 的;还有一些软件漏洞在C/C++源代码下有时候是很难发现的,但在被反汇编后常常一目了然
其实你的"反汇编是用来 zhuangbi 的"就从根本上否定了OD和IDA存在的意义。但现实嘛...嘿嘿,google 看雪学院。

[ 本帖最后由 phrankmoon 于 2010-7-15 05:42 编辑 ]
2010-07-15 05:36
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 13楼 phrankmoon
怕大家学习c语言闷了, 发个帖子娱乐娱乐,/

我就是真命天子,顺我者生,逆我者死!
2010-07-15 08:46
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
很多工具都是可以 查找 栈溢出 或者  内存泄露的, 而这些工具都不是建立在 反汇编的基础上。
我的建议是: 尽可能的预防 和 回避错误 ,在写程序的时候 尽可能的 加断言, 加跟踪点, 加日志,
用自己确定的知识回避不确定的知识。  如果程序出错了, 我认为最好的做法就是 假设。
屏蔽代码, 或者 转移代码 或者  添加代码 来 验证假设。

学习c语言是用来娱乐的, 如果 c 语言让你感觉到痛苦,那么请放弃 c 语言。 汇编让我很痛苦, 所以我放弃了汇编、
我宁可把时间 花在 学习算法 上。/


[ 本帖最后由 BlueGuy 于 2010-7-15 08:56 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-07-15 08:55
z512369385
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-21
收藏
得分:0 
C32asm这个软件挺不错的
2010-07-15 11:09
icedar
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2008-2-13
收藏
得分:0 
回复 16楼 z512369385
"反汇编是用来 zhuangbi 的"
这句话太打击人了!
2010-07-15 20:20
phrankmoon
Rank: 2
等 级:论坛游民
帖 子:32
专家分:15
注 册:2010-7-15
收藏
得分:0 
以下是引用icedar在2010-7-15 20:20:21的发言:

"反汇编是用来 zhuangbi 的"
这句话太打击人了!

上网还怕被打击?怕被打击就不要上网

那句话怎么说来着,"我是一颗蒸不烂煮不熟捶不扁炒不爆响珰珰一粒铜豌豆"

[ 本帖最后由 phrankmoon 于 2010-7-15 20:53 编辑 ]
2010-07-15 20:46
快速回复:求反汇编软件……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019965 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved