首页
社区
课程
招聘
[求助]关于Inno Setup编译的安装程序的解包问题
发表于: 2010-11-7 17:46 10879

[求助]关于Inno Setup编译的安装程序的解包问题

2010-11-7 17:46
10879
如题目 某软件的安装程序带有密码 安装的时候提示输入密码 用解包程序解包厚 的安装脚本中显示

;InnoSetupVersion=5.2.1
; 密码 MD5 Hash: d7002a5a948d9a1507400d4fde0006b3
; 密码安全 Salt: 092B7151356DBE8B

[Setup]
.................
......................
........................
Compression=lzma
; Encryption=yes
; PasswordHash=d7002a5a948d9a1507400d4fde0006b3
; PasswordSalt=092b7151356dbe8b
InfoBeforeFile=embedded\InfoBefore.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp

有什么办法可以干掉这个密码呢...

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
2
欺骗法修改hash嘛,既然有hash了就可以替换修改了
2010-11-7 18:18
0
雪    币: 253
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
跟踪在OD中改么?有个软件 可以截取密码 不过我试过不能截取啊
2010-11-7 19:57
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
4
我也想知道这种防解包的方法还能挻多久
2010-11-7 21:12
0
雪    币: 253
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
能不能让他跳过密码检测环节厄..
2010-11-8 11:44
0
雪    币:
能力值: (RANK: )
在线值:
发帖
回帖
粉丝
6
不要指望绕过密码, 解压时需要它解密才能解压. 参见Innounp源码(Extract.pas):
  procedure InitDecryption;
  var
    Salt: TSetupSalt;
    MD5Context: TMD5Context;
    MD5Hash: TMD5Digest;
    SHA1Context: TSHA1Context;
    SHA1Hash: TSHA1Digest;
  begin
    { Read the salt }
    if FSourceF.Read(Salt, SizeOf(Salt)) <> SizeOf(Salt) then
      SourceIsCorrupted;

    if (Ver >= 5309) then
    begin
      { Initialize the key, which is the MD5 hash of the salt plus FCryptKey }
      SHA1Init(SHA1Context);
      SHA1Update(SHA1Context, Salt, SizeOf(Salt));
      SHA1Update(SHA1Context, Pointer(FCryptKey)^, Length(FCryptKey));
      SHA1Hash := SHA1Final(SHA1Context);
      ArcFourInit(FCryptContext, SHA1Hash, SizeOf(SHA1Hash));
    end else
    begin
      { Initialize the key, which is the MD5 hash of the salt plus FCryptKey }
      MD5Init(MD5Context);
      MD5Update(MD5Context, Salt, SizeOf(Salt));
      MD5Update(MD5Context, Pointer(FCryptKey)^, Length(FCryptKey));
      MD5Hash := MD5Final(MD5Context);
      ArcFourInit(FCryptContext, MD5Hash, SizeOf(MD5Hash));
    end;

function TFileExtractor.ReadProc(var Buf; Count: Longint): Longint;
var
  Buffer: Pointer;
  Left, Res: Cardinal;
begin
  Buffer := @Buf;
  Left := Count;
  if (FChunkBytesLeft.Hi = 0) and (FChunkBytesLeft.Lo < Left) then
    Left := FChunkBytesLeft.Lo;
  Result := Left;
  while Left <> 0 do begin
    Res := FSourceF.Read(Buffer^, Left);
    Dec64(FChunkBytesLeft, Res);

    { Decrypt the data after reading from the file }
    if FChunkEncrypted then
      ArcFourCrypt(FCryptContext, Buffer^, Buffer^, Res);

    if Left = Res then
      Break
    else begin
      Dec(Left, Res);
      Inc(Longint(Buffer), Res);
      { Go to next disk }
      if FOpenedSlice >= FChunkLastSlice then
        { Already on the last slice, so the file must be corrupted... }
        SourceIsCorrupted;
      OpenSlice(FOpenedSlice + 1);
    end;
  end;
end;

2010-11-8 20:20
0
雪    币: 225
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
文件是被加密打包的。我试过跳过密码解包,解出的包是错误的
2010-11-9 11:40
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
数据是一起加密过的,没有密码的数据解出来也没有办法使用.就像RAR
2010-11-9 12:17
0
雪    币: 9
活跃值: (142)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
9
Compression=lzma
; Encryption=yes
; PasswordHash=d97d713aea3aad4bdba7abffa6a80e25a8afe4f8
; PasswordSalt=a366fafb71ce2824
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
我这也有一个带密码的
2011-4-14 16:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看来inno setup的密码是很难破解的
2011-4-22 16:41
0
游客
登录 | 注册 方可回帖
返回
//