任何对反编译感兴趣的人 [英] anyone interested in decompilation

查看:60
本文介绍了任何对反编译感兴趣的人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

反编译是从程序可执行文件中恢复人类可读源代码

的过程。 Java和.NET存在许多反编译器,因为程序可执行文件(类文件)维护源代码中找到的大部分信息

。但是对于机器代码来说不是这样。

可执行文件。


近年来,机器代码的反编译已从

域转移对一般公众可获得的许多真正的b $ b技术的批评和学术上的希望。现在存在

机器代码的编译器,它产生的输出可以与反汇编程序相媲美

作为分析安全漏洞,恶意软件或仅仅是b $ b的程序的工具看看有什么用。经济上可以实现的完整源代码恢复很快就会成为现实。


这项技术带来的法律挑战因国家/地区而异....... $ b国家。因此,许多研究正在秘密进行,禁止某些技术的使用,而一些研究是在有法律规定的国家更公开地进行的。支持

技术(例如澳大利亚)。


Boomerang是一个开源反编译器,主要由两个写的

澳洲研究员。开源项目需要贡献者。如果您对反编译感兴趣,我们希望收到您的回复。

我们不仅对与程序员交谈感兴趣。该项目

缺乏文档,教程和社区。

是很多可以由具有较小技术知识的用户执行的任务。


有关机器代码反编译的更多信息请参阅Boomerang

网站( http://boomerang.sourceforge。净/)。有关机器代码反编译的有趣

技术评论,请参阅我的博客

http://quantumg.blotspot.com/)


感谢您阅读此消息,


QuantumG

解决方案

2006年8月2日01:23:52 -0700,QuantumG < qg@biodome.orgwrote:


>反编译是从程序可执行文件中恢复人类可读源代码的过程。



人类可读的源代码如下所示:


int V00000001;


V00000001 = function_that_returns_int();


if(V00000001 9)

{

/ *做点什么* /

}

其他

{

/ *做别的事* /

}


> Java和.NET存在许多反编译器,因为程序可执行文件(类文件)保留了大部分信息。源代码。但是,对于机器代码可执行文件而言,情况并非如此。



无论Java或.NET是否生成保存

信息的程序可删除项,这些信息都在源代码中找到。与标准C是否相同无关。

。对于其他语言(如Ada或Basic或C ++)是否也这样做也不应该对

有任何影响。


>近年来针对机器代码的反编译已经从一些破解点和学术希望的领域转移到一些普通大众可用的真正技术上。现在存在用于机器代码的反编译器,它产生的输出可以与反汇编程序相媲美,作为分析安全漏洞,恶意软件程序的工具,或仅仅是为了看看它是如何工作的。可以经济地实现的完整源代码恢复很快就会成为现实。



当原始名称为
变量名的人>
reactor_overflow,可以说是crackpot。


>这项技术带来的法律挑战因国家/地区而异。因此,在禁止某些技术使用的国家/地区进行了大量秘密研究,而有些研究则在有法律支持技术的国家进行更公开的研究(例如澳大利亚)。



你能告诉我们哪些国家肯定会禁止

" turn-hamburger-into-cow"工具?


> Boomerang是一个由两位澳大利亚研究人员(主要)编写的开源反编译器。开源项目需要贡献者。如果您对反编译感兴趣,我们希望收到您的回复。
我们不仅对与程序员交谈感兴趣。该项目缺乏文档,教程和社区。有很少的技术知识的用户可以执行许多任务。



(我希望源代码是用C语言写的。)


您对C有疑问吗?


-

ja7


QuantumG说:


< snip>


Boomerang是一个开源反编译器,主要由两位澳大利亚研究人员编写。



当您使用输入到

编译器时将Boomerang的输出差异化(1)并且没有差异,请再次调用。 :-)


< snip>


-

Richard Heathfield

Usenet是一个奇怪的地方 - dmr 29/7/1999
http://www.cpax.org.uk

电子邮件:rjh在上面的域名(但显然放弃了www)


" QuantumG" < qg@biodome.orgwrites:


反编译是从程序可执行文件中恢复人类可读源代码

的过程。 Java和.NET存在许多反编译器,因为程序可执行文件(类文件)维护源代码中找到的大部分信息

。但是,对于机器代码而言,这不是真的。
可执行文件。



[...]


感谢您阅读此邮件,


据我所知,这与C编程

语言无关,这是该新闻组的主题。也许这将是comp.compilers中的热门话题。


-

Keith Thompson(The_Other_Keith) ks *** @ mib.org < http://www.ghoti.net/~kst>

圣地亚哥超级计算机中心< *< http://users.sdsc.edu/~kst>

我们必须做点什么。这是事情。因此,我们必须这样做。


Decompilation is the process of recovering human readable source code
from a program executable. Many decompilers exist for Java and .NET as
the program executables (class files) maintain much of the information
found in the source code. This is not true for machine code
executables however.

In recent years decompilation for machine code has moved from the
domain of crackpots and academic hopefuls to a number of real
technologies that are available to the general public. Decompilers for
machine code now exist which produce output that rivals disassemblers
as a tool for analysing programs for security flaws, malware or just
simply to see how something works. Full source code recovery that is
economically attainable will soon be a reality.

The legal challenges posed by this technology differs country to
country. As such, much research is being done in secret in countries
that prohibit some uses of the technology, whereas some research is
being done more publicly in countries that have laws which support the
technology (Australia, for example).

Boomerang is an open source decompiler written (primarily) by two
Australian researchers. Open source projects need contributors. If
you have an interest in decompilation, we''d like to hear from you.
We''re not only interested in talking to programmers. The project
suffers from a lack of documentation, tutorials and community. There
are many tasks that can be performed by users with minor technical
knowledge.

For more information on machine code decompilation see the Boomerang
web site (http://boomerang.sourceforge.net/). For interesting
technical commentary on machine code decompilation, see my blog
(http://quantumg.blotspot.com/).

Thanks for reading this message,

QuantumG

解决方案

On 2 Aug 2006 01:23:52 -0700, "QuantumG" <qg@biodome.orgwrote:

>Decompilation is the process of recovering human readable source code
from a program executable.

And the human readable source code looks something like this:

int V00000001;

V00000001 = function_that_returns_int();

if ( V00000001 9 )
{
/* do something */
}
else
{
/* do something else */
}

>Many decompilers exist for Java and .NET as
the program executables (class files) maintain much of the information
found in the source code. This is not true for machine code
executables however.

Whether or not Java or .NET produce program excutables that maintain
information that is "found in the source code" has no bearing on
whether Standard C does the same. Nor should it have any bearing on
whether other languages such as Ada or Basic or C++ do the same.

>In recent years decompilation for machine code has moved from the
domain of crackpots and academic hopefuls to a number of real
technologies that are available to the general public. Decompilers for
machine code now exist which produce output that rivals disassemblers
as a tool for analysing programs for security flaws, malware or just
simply to see how something works. Full source code recovery that is
economically attainable will soon be a reality.

And some would still claim that anyone who wrote a decompiler and used
variable names like V00000001, when the original name was
reactor_overflow, could arguably be labeled a "crackpot".

>The legal challenges posed by this technology differs country to
country. As such, much research is being done in secret in countries
that prohibit some uses of the technology, whereas some research is
being done more publicly in countries that have laws which support the
technology (Australia, for example).

Can you tell us what countries cuurently ban the
"turn-hamburger-into-cow" tool?

>Boomerang is an open source decompiler written (primarily) by two
Australian researchers. Open source projects need contributors. If
you have an interest in decompilation, we''d like to hear from you.
We''re not only interested in talking to programmers. The project
suffers from a lack of documentation, tutorials and community. There
are many tasks that can be performed by users with minor technical
knowledge.

(I hope the source is written in C.)

Did you have a question about C?

--
ja7


QuantumG said:

<snip>

Boomerang is an open source decompiler written (primarily) by two
Australian researchers.

When you diff(1) the output of Boomerang on itself with the input to the
compiler and get no differences, call again. :-)

<snip>

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)


"QuantumG" <qg@biodome.orgwrites:

Decompilation is the process of recovering human readable source code
from a program executable. Many decompilers exist for Java and .NET as
the program executables (class files) maintain much of the information
found in the source code. This is not true for machine code
executables however.

[...]

Thanks for reading this message,

Which, as far as I can tell, has nothing to do with the C programming
language, the topic of this newsgroup. Perhaps this would be topical
in comp.compilers.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.


这篇关于任何对反编译感兴趣的人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆