emailjike 发表于 2015-1-2 22:16

daxuexinsheng 发表于 2015-1-2 09:06 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
Windows Binary Tools
编译器和文件放在同一个文件夹,再cd到这个文件夹。



按照LZ说的做了,但是闪退,我把dsdt文件拖到,iasl可执行文件上,弹出下面的界面后退出,请问是怎么回事?
iasl-win-20141107 文件夹放在电脑桌面



emailjike 发表于 2015-1-2 22:24

daxuexinsheng 发表于 2015-1-2 09:06 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
Windows Binary Tools
编译器和文件放在同一个文件夹,再cd到这个文件夹。



源文件 dsdt.bin 大小71K ,程序报错后,文件夹里生成一个“dsdt.i”的文件,大小0K

zhenghongtao 发表于 2015-1-11 21:40

进来学一学....

xlm2013 发表于 2015-1-12 00:20

我取得得原始文件后缀名是.bin的然后编译成.dsl然后再编译成.aml这个就不行了有错误就编译出一个dsdt.aml~那怎么继续呢还不是要编译器里修改错误?

z035689734 发表于 2015-1-12 01:30

有好東西才有好生活
有好心的大大才有豐富的分享世界
謝謝大大的分享

daxuexinsheng 发表于 2015-1-12 09:15

xlm2013 发表于 2015-1-12 00:20 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
我取得得原始文件后缀名是.bin的然后编译成.dsl然后再编译成.aml这个就不行了有错误就编译出一个dsdt.aml~ ...
贴子第一段就解释过了。
另外,这是我在其它贴子里更详细的解释:

好吧,关于大家经常遇到的 “编译之后打开,怎么又有错误了?” 这样的问题。楼主在我的反编译贴已经解释过了。      https://bbs.pcbeta.com/viewthread-1475332-1-1.html

但还有人觉得奇怪,那我就再解释一次:

      一般,我们在Window、Linux、Mac下提取到的DSDT都是从BIOS里直接读取的、已经编译好的字节码文件。这样,问题就随之产生了,即aml是编译好的文件,我们不能直接查看其中的内容(它可不是简单的文本文件),我们使用软件打开aml文件,其实是在做一个对单独文件的反编译操作,把字节码文件反编译回到源代码,展现在软件里。而反编译的操作常常会很难避免地产生许多错误(特别是对单独的文件反编译)。就像是中文和英文之间不能进行无缝转换一样。(而且,字节码文件,可不是英语,你可以把它看成是火星语)
      (给有编程知识的人:aml是一种中间代码,字节码,有点像Java。还不是二进制文件。因为,各个操作系统,实现的解析aml的方法不同,所以,才把aml定义为中间代码的形式。简单的说,aml跨平台。)

      软件打开单一文件,执行的命令是 iasl -d DSDT.aml。软件不会像我们视频中的那样,去找相关的SSDT一起反编译。这样,对单独的一个文件反编译,得到的错误会非常多。因为DSDT和SSDT的联系非常紧密,只反编译其中一样,会有很多的东西找不到。

      综上,只要记住,dsl是可以编辑的文本文件,aml是火星语。dsl没有错就行,不要去打开aml。

doors21 发表于 2015-1-15 16:57

thank you

doors21 发表于 2015-1-15 16:58

xiao201261 发表于 2014-2-7 21:41 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
楼主的dsdt解决了?

thank you

a25950841 发表于 2015-1-22 19:09

准备试试

realank 发表于 2015-1-29 15:10

楼主介绍的没头没尾的啊。。。。

daxuexinsheng 发表于 2015-1-29 15:12

realank 发表于 2015-1-29 15:10 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
楼主介绍的没头没尾的啊。。。。

我只能说无语......

生活大爆炸1991 发表于 2015-2-10 11:18

大神景友,能帮帮忙吗?我在mac下用iasl无法使用命令,不知是不是无法读取。这是在win下反编译的,但是无法保存成aml,mac下maciasl保存会出现4096错误无法保存。能帮忙看看吗?

xugjun2006 发表于 2015-2-14 23:50

无始随枫 发表于 2015-2-19 22:50

好像这样修改更科学

h1287329 发表于 2015-3-14 16:46

学习了...

rpp78 发表于 2015-3-14 20:52

ootvt 发表于 2014-5-4 12:22 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
用 iasl -da *.aml这个命令出现了这个。。
ACPI Error: Namespace lookup failure, AE_ALREADY_E ...

这个问题咱们解决呢{:5_271:}

463048435 发表于 2015-3-19 22:45

支持支持支持

463048435 发表于 2015-3-19 22:57

支持支持支持

Jazztune 发表于 2015-3-23 08:00

楼主请教一个问题。编译的时候出这个错,文件都是linuix下面提取的。有时间的话能帮我看看吗,谢谢。
应该没有重复的ssdt

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20150204-32
Copyright (c) 2000 - 2015 Intel Corporation

Loading Acpi table from file E:/Download/MY/tables/DSDT.aml - Length 00051726 (0
0CA0E)
ACPI: DSDT 0x00000000 00CA0E (v02 ALASKA A M I    00000088 INTL 20091112)
Acpi table successfully installed and loaded
Loading Acpi table from file E:\Download\MY\tables\SSDT7.aml - Length 00000281 (
000119)
ACPI: SSDT 0x00000000 000119 (v01 PmRefApCst    00003000 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT6.aml - Length 00001450 (
0005AA)
ACPI: SSDT 0x00000000 0005AA (v01 PmRefApIst    00003000 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT5.aml - Length 00000979 (
0003D3)
ACPI: SSDT 0x00000000 0003D3 (v01 PmRefCpu0Cst00003001 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT4.aml - Length 00013537 (
0034E1)
ACPI: SSDT 0x00000000 0034E1 (v01 SaSsdt SaSsdt   00003000 INTL 20091112)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT3.aml - Length 00000877 (
00036D)
ACPI: SSDT 0x00000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT2.aml - Length 00002776 (
000AD8)
ACPI: SSDT 0x00000000 000AD8 (v01 PmRefCpuPm    00003000 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\SSDT1.aml - Length 00001337 (
000539)
ACPI: SSDT 0x00000000 000539 (v01 PmRefCpu0Ist00003000 INTL 20120711)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Loading Acpi table from file E:\Download\MY\tables\DSDT.aml - Length 00051726 (0
0CA0E)
ACPI: DSDT 0x00000000 00CA0E (v02 ALASKA A M I    00000088 INTL 20091112)
Acpi table successfully installed and loaded
Pass 1 parse of
Pass 2 parse of
Pass 1 parse of
ACPI Error: Namespace lookup failure, AE_ALREADY_EXISTS (20150204/dswload
-451)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20150204/psobject
-305)

hxplbb 发表于 2015-3-26 16:33

温习一下{:5_596:}
页: 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27
查看完整版本: (2015.1.13 更新)联合DSDT和SSDT进行反编译——减少DSDT和SSDT错误的尝试