标签: decompiling

有没有反编译Delphi的程序?

有人刚给我发了一个程序的反编译到C.这是一个非常好的反编译,产生了很好的,主要是可读的C代码(如果你忽略了没有变量或函数都有一个人类可读的名字的事实),大多看起来像它实际上会编译.

但是有一个大问题.我碰巧知道他反编译的程序是用Delphi编写的,其中充满了难以转化为C的概念.但我对反编译器的输出印象深刻,这让我很奇怪.德尔福有什么可以做到的吗?

我见过Delphi的最好的反编译工具是DeDe.它可以做很多事情,但它甚至不会尝试生成Object Pascal代码作为其输出,并且自Delphi 6以来它还没有更新.那里有什么更好的东西吗?

delphi decompiling reverse-engineering

21
推荐指数
3
解决办法
8万
查看次数

反编译如何工作?

我之前听过"反编译"这个术语几次,我开始对它的工作原理感到非常好奇.

我对它是如何工作有一个非常笼统的想法; 对应用程序进行逆向工程以查看它使用的功能,但除此之外我不太了解.

我也听过" 反汇编程序 " 这个术语,反汇编程序和反编译程序有什么区别?

总结一下我的问题:反编译过程究竟涉及到什么?通常怎么做?流程有多复杂/简单?它可以产生确切的代码吗?反编译器和反汇编程序有什么区别?

decompiling

20
推荐指数
2
解决办法
1万
查看次数

APKtools(APK Studio)无法解码arsc文件

我想用AKP-Studio反编译一个APK(它使用Apktool 2.0.0-Beta9),但在每个APK上我都会收到此错误:

May 05, 2015 5:38:30 PM brut.androlib.ApkDecoder decode

INFO: Using Apktool 2.0.0-Beta9 on com.****-1.apk

May 05, 2015 5:38:30 PM brut.androlib.res.AndrolibResources loadMainPkg

INFO: Loading resource table...

Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file

at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:54)

at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:604)

at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:74)
Run Code Online (Sandbox Code Playgroud)

我在不同版本的Windows(64和32位)的不同系统上检查了它

我的java版本是:"1.8.0_45"

如果有任何解决方案,请告诉我.

android decompiling apk apktool

20
推荐指数
1
解决办法
5万
查看次数

适用于Mac或Linux的.NET反编译器

我需要反编译一个用.NET编写的小应用程序并将其转换为C++.我没有安装Windows,我知道有很多针对Windows的.NET反编译.由于我只有Mac和Linux,并且不想安装Windows只能运行反编译器,我想知道,有没有简单的方法在Mac或Linux中反编译.NET应用程序?我搜索它并没有找到任何东西.

.net c# linux macos decompiling

19
推荐指数
2
解决办法
3万
查看次数

探索和反编译python字节码

让我们说:

>>> def test(a):    
>>>    print a
Run Code Online (Sandbox Code Playgroud)

现在,我想探索测试在编译形式中的样子.

>>> test.func_code.co_code
'|\x00\x00GHd\x00\x00S'
Run Code Online (Sandbox Code Playgroud)

我可以使用dis模块获取反汇编的表单:

>>> import dis
>>> dis.dis(test)
  2           0 LOAD_FAST                0 (a)
              3 PRINT_ITEM
              4 PRINT_NEWLINE
              5 LOAD_CONST               0 (None)
              8 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

是否有一个开源和维护的反编译器,我可以用来将字节码重新转换成可读的python代码?

更新:感谢建议反编译,但它已过时(python2.3),没有人再维护它了.有没有python2.5或更高版本?

python decompiling

18
推荐指数
4
解决办法
2万
查看次数

Scala闭包如何转换为Java对象?

我目前正在研究不同语言的闭包实现.但是,当谈到Scala时,我无法找到关于如何将闭包映射到Java对象的任何文档.

有充分证据表明Scala函数映射到FunctionN对象.我假设对闭包的自由变量的引用必须存储在该函数对象的某处(例如,在C++ 0x中完成).

我还尝试使用scalac编译以下内容,然后使用JD反编译类文件:

object ClosureExample extends Application { 
  def addN(n: Int) = (a: Int) => a + n
  var add5 = addN(5)
  println(add5(20))
}
Run Code Online (Sandbox Code Playgroud)

在反编译的源代码中,我看到了一个匿名的Function1子类型,它应该是我的闭包.但是apply()方法是空的,并且匿名类没有字段(可能存储闭包变量).我想反编译器没有设法从类文件中获取有趣的部分......

现在问题:

  • 你知道转变是如何完成的吗?
  • 你知道它在哪里被记录吗?
  • 你有另外一个想法我怎么能解开这个谜团?

closures decompiling scala

18
推荐指数
2
解决办法
1854
查看次数

使用Visual Studio集成的C#最佳(免费?)反编译器?

在我的Java开发中,我从Jad/JadClipse反编译器中获益匪浅.它使人们有可能知道为什么第三方库失败而不是通常的猜测.

我正在为C#和Visual Studio寻找类似的设置.也就是说,我可以指向代码中的任何类或变量并获取该特定类的代码视图.

什么是最好的设置?我希望能够使用通常的"跳转到声明/实现"来导航我自己的代码.它不具有自由,但是这将是一个奖金如果是.

它应该支持Visual Studio 2008或Visual Studio 2005以及.NET 2和3(.5).

c# decompiling visual-studio

17
推荐指数
2
解决办法
4万
查看次数

奇怪的赋值,TextView到Bundle,反编译后,为什么?

我创建了一个简单的应用程序,一个计数器应用程序,按下按钮会增加一个整数并更新文本视图.代码如下:

public class MainActivity extends Activity {
    public static int count = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView textView = (TextView) findViewById(R.id.count);
        textView.setText(Integer.toString(count));
        final Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                count++;
                textView.setText(Integer.toString(count));
            }
        });
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

在使用dex2jar和jd-gui反编译同一个应用程序后,我收到了以下代码:

public class MainActivity extends Activity {
    public static int count = 0;

    protected void onCreate(final Bundle paramBundle) {
        super.onCreate(paramBundle);
        setContentView(2130903040);
        paramBundle = (TextView)findViewById(2131296257);
        paramBundle.setText(Integer.toString(count));
        ((Button)findViewById(2131296256)).setOnClickListener(new View.OnClickListener() {
            public void …
Run Code Online (Sandbox Code Playgroud)

java android decompiling

17
推荐指数
1
解决办法
906
查看次数

为什么反编译.NET IL代码这么容易?

与反编译本机x86二进制文件相比,为什么将.NET IL-code反编译为源代码如此容易?(Reflector在大多数情况下都会生成相当好的源代码,而反编译C++编译器的输出几乎是不可能的.)

是因为IL包含大量元数据吗?或者是因为IL是比x86指令更高的抽象?我做了一些研究,发现了以下两篇有用的文章,但它们都没有回答我的问题.

.net cil decompiling bytecode intermediate-language

16
推荐指数
2
解决办法
4396
查看次数

如何将.jasper文件反编译为.jrxml文件

我丢失了所有.jrxml文件,但我有.jasper文件.我可以反编译开发文件文件的.jrxml文件?如果是,那对我来说将是一个很大的帮助.

decompiling jasper-reports

16
推荐指数
2
解决办法
2万
查看次数