24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 1131  |  回复: 13

qinghuoly

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
4楼: Originally posted by yyallen2003 at 2013-07-14 11:06:28
这方面非常难
Java有反编译器
C#的没听过
C/C++就跟难了

现代化的编译器都会对程序进行很多优化,生成的程序文件已然面目全非,几乎没办法靠软件还原出源代码的逻辑。
至于说java的反编译,不过是因为java是将代码翻译成字节码,基本无需对程序进行优化,毕竟执行效率的瓶颈在虚拟机,所以大部分优化都是针对于虚拟机,而不是字节码。
我觉得反编译很不靠谱,即便能反编译出来,源代码的可读性也很差。
我觉得逆向工程应该转向到针对API、通信协议这种接口的逆向,最大限度的利用既有资源,好比电子工程里的飞线,能造出一个正常工作的黑匣子也没什么不好。
还有就是开发辅助工具,帮助人们阅读反汇编代码,提取程序的算法和数据。
天地为帐,日月为灯,风雷为号角,云虹为旗令,山川为阵图,草木为兵卒。运阴阳五行为谋,策古今兴替为略。
11楼2013-07-16 08:16:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iwdw2012

木虫 (著名写手)

引用回帖:
11楼: Originally posted by qinghuoly at 2013-07-16 08:16:34
现代化的编译器都会对程序进行很多优化,生成的程序文件已然面目全非,几乎没办法靠软件还原出源代码的逻辑。
至于说java的反编译,不过是因为java是将代码翻译成字节码,基本无需对程序进行优化,毕竟执行效率的 ...

哦,我感觉提取程序的算法不是很可行啊,目前在这方面有什么成熟的方法吗?
12楼2013-07-17 23:21:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinghuoly

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
12楼: Originally posted by iwdw2012 at 2013-07-17 23:21:59
哦,我感觉提取程序的算法不是很可行啊,目前在这方面有什么成熟的方法吗?...

基本都是靠人来分析。虽然有Ollydbg,IDA pro这般反汇编神器,但也只是提供一个趁手的工具。好比是一套便利的拆解工具,但具体要怎么用,怎么拆还只能靠人来决定。
逆向工程犯不着还原出程序的所有细节,而是要得到我们想要的算法或数据。相比于反汇编分析,我觉得另一个思路或许值得尝试:
把程序类比成生物,运行逻辑和数据操作就可看做生物的行为。输入数据统计其行为或直接干涉内存监视行为,然后还原出我们想得到的东西。
似乎有些人寻找程序程序漏洞时用过类似的方法,但不知道用来还原算法或数据是否可行。
天地为帐,日月为灯,风雷为号角,云虹为旗令,山川为阵图,草木为兵卒。运阴阳五行为谋,策古今兴替为略。
13楼2013-07-18 09:25:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

神气活现

铁虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
逆向工程的研究热点我也说不太好,国内一般关注下面几项
1 脱壳/加壳
2 虚拟机(代码注入,溢出攻击这些最后都跟虚拟机有关系)
3 os漏洞,这个很无聊,但很实用,打狗必须

应用热点就多了,快速跟踪,静态分析,算法剥离等等。太多太多。
14楼2013-08-18 20:37:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 iwdw2012 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见