zer0daysec 发表于 2024-7-12 17:01:09

解决 Exe2Aut 不能反编译 64 位 AutoIt3 文件

本帖最后由 zer0daysec 于 2024-7-12 17:20 编辑

本次样本来自于 https://bbs.decoyit.com/thread-764-1-1.html 此篇报告

当将 zz1Cover2.jpg 进行反编译时提示



不能反编译 64 位 AutoIt3 文件

如何解决?

可使用以下 Perl 代码解决

use strict;
use warnings;

my $f=shift || die ("Gimme a file name!");

print STDERR "Processing '$f':\n";
print STDERR "- Reading 'AutoItSC.bin'\n";
open F,"<AutoItSC.bin";
binmode F;
read F,my $a, -s 'AutoItSC.bin';
close F;

print STDERR "- Reading '$f'\n";
open F,"<$f";
binmode F;
read F,my $d, -s $f;
close F;

print STDERR "- Looking for the script\n";
if ($d=~/\xA3\x48\x4B\xBE\x98\x6C\x4A\xA9\x99\x4C\x53\x0A\x86\xD6\x48\x7D/sg)
{
   my $pd=(pos $d)-16;
   print STDERR "- Script found @ ".sprintf("%08lX",$pd)."\n";
   print STDERR "- Creating 32-bit version '$f.a32.exe'\n";
   open F,">$f.a32.exe";
   binmode F;
   print F $a.substr($d,$pd,length($d)-$pd);
   close F;
}
else
{
   print STDERR "- Script not found !\n";
}
执行转换



将转换后的程序再拖入到 Exe2Aut 中进行反编译,反编译后的内容



若无 Perl 环境,使用以下工具进行转换



AutoItSC.bin 文件,需配合上面 Perl 脚本,放在同一目录下



原理,将隐藏在 64 位 AutoIt3 文件中的脚本内容提取出来再用低版本的 32 位 AutoItSC.bin 进行打包成 32 位程序,再将其应用到 Exe2Aut 中,目前官方已不再提供 AutoItSC.bin 文件
页: [1]
查看完整版本: 解决 Exe2Aut 不能反编译 64 位 AutoIt3 文件