吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 952|回复: 19
收起左侧

[求助] 逆向解压缩包密码

[复制链接]
leitianshuo 发表于 2025-2-28 23:02
本帖最后由 leitianshuo 于 2025-2-28 23:30 编辑

求助,帮忙给一些思路、教程或者工具。软件未加壳,但是未找到解密逻辑,IDA字符串搜索查找到了zlib和huffman编码相关内容,并且压缩包加密算法是zipcrypto(无已知明文),但是删除zlib相关库文件之后不影响正常运行,运行时未导入相关dll,所以推断内部实现解密和解压缩逻辑,该软件使用libcurl发送网络请求,但是使用ida没断住(相关网址被加密了),调用关系十分复杂,希望各位大佬帮忙解决,如需其他ida伪代码可以提供(本人技术很菜,不确定对不对),样本以及ida分析
文件链接:https://www.123865.com/s/5KrITd-n9bKh,示例压缩包链接:https://www.123865.com/s/5KrITd-29bKh

sub_81F910调用aBadHuffmanCode && aBadHuffmanCode_0(xrefs)
sub_81F910被sub_820760调用(xrefs)
sub_822DF0调用aBadHuffmanCode_1 && aBadHuffmanCode_2(xrefs)
sub_822DF0被sub_1383580调用(xrefs)


dll静态加载

dll静态加载

加载的dll文件(3)

加载的dll文件(3)



加载的dll文件(2)

加载的dll文件(2)


加载的dll文件(1)

加载的dll文件(1)

字符串查找

字符串查找



霍夫曼编码相关(sub_81F910)

霍夫曼编码相关(sub_81F910)


sub_81F6F0内部

sub_81F6F0内部

sub_81F870内部

sub_81F870内部


sub_820760内部(1)

sub_820760内部(1)

sub_820760内部(2)

sub_820760内部(2)


sub_820760内部(3)

sub_820760内部(3)

霍夫曼编码相关(sub_822DF0)

霍夫曼编码相关(sub_822DF0)


sub_822C10内部

sub_822C10内部

sub_1383580内部

sub_1383580内部



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zbby 发表于 2025-3-1 15:24
他好像有好几个密码下面是其中一个直接是明文的,还有几个好像是动态计算的
      pwd = (signed int)"e1t2i3n4g5s6h7u8o";
      v7 = (void *)_CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>::operator IBindStatusCallback *(v59);
      v43 = TUnzip::TUnzip(v7, (const char *)pwd);
 楼主| leitianshuo 发表于 2025-3-1 15:07
本帖最后由 leitianshuo 于 2025-3-1 15:09 编辑
爱飞的猫 发表于 2025-3-1 08:05
[md]你的说明:

> 压缩包加密算法是zipcrypto(无已知明文)

在573DC8(之前ida查询的zipcropty)附近断住了,伪源代码如下(这里以为block[28]、block[29]、block[30]是zip的3个key,结果是9位的):int __cdecl sub_13A3B70(int *a1, char *a2)
{
  int v3; // [esp+Ch] [ebp-2Ch]
  BOOL v4; // [esp+10h] [ebp-28h]
  _DWORD *Block; // [esp+24h] [ebp-14h]
  int v7; // [esp+28h] [ebp-10h] BYREF
  int v8; // [esp+2Ch] [ebp-Ch] BYREF
  int v9; // [esp+30h] [ebp-8h] BYREF

  if ( !a1 )
    return -102;
  if ( !a1[6] )
    return -102;
  if ( a1[31] )
    sub_561410((int)a1);
  if ( sub_5738D0(a1, &v8, &v9, &v7) )
    return -103;
  Block = malloc(0x84u);
  if ( !Block )
    return -104;
  *Block = malloc(0x4000u);
  Block[17] = v9;
  Block[18] = v7;
  Block[19] = 0;
  if ( *Block )
  {
    Block[16] = 0;
    v4 = a1[13] == 0;
    Block[21] = a1[15];
    Block[20] = 0;
    Block[25] = a1[13];
    Block[24] = *a1;
    Block[26] = a1[3];
    Block[6] = 0;
    if ( !v4 )
    {
      Block[9] = 0;
      Block[10] = 0;
      Block[11] = 0;
      if ( !sub_572090(Block + 1) )
        Block[16] = 1;
    }
    Block[22] = a1[16];
    Block[23] = a1[17];
    *((_BYTE *)Block + 108) = (a1[12] & 1) != 0;
    if ( (a1[12] & 8) != 0 )
      *((_BYTE *)Block + 128) = BYTE1(a1[14]);
    else
      *((_BYTE *)Block + 128) = HIBYTE(a1[15]);
    if ( *((_BYTE *)Block + 108) )
      v3 = 12;
    else
      v3 = 0;
    Block[31] = v3;
    Block[28] = 305419896;
    Block[29] = 591751049;
    Block[30] = 878082192;
    while ( a2 && *a2 )
      sub_571F30((int)(Block + 28), *a2++);
    Block[15] = a1[30] + v8 + 30;
    Block[2] = 0;
    a1[31] = (int)Block;
    return 0;
  }
  else
  {
    free(Block);
    return -104;
  }
}
 楼主| leitianshuo 发表于 2025-2-28 23:15
样本文件以及ida分析文件链接:https://www.123865.com/s/5KrITd-n9bKh
爱飞的猫 发表于 2025-3-1 08:05

你的说明:

压缩包加密算法是zipcrypto(无已知明文)

同时你用 FindCrypt 找到的结果:

FindCrypt3: 0x843DCF 看起来像是 ZipCrypto

你为什么不在这里下个断,看参数有没有像密码的字符串。如果能确认是密码,看看是从哪调用的,来分析密码怎么来的。

xiaopeng928 发表于 2025-3-1 08:15
非常感谢

免费评分

参与人数 1吾爱币 -15 收起 理由
bian96 -15 警告:脱破求助区禁止回复『与主题无关非技术内容』,违者重罚!

查看全部评分

jzcaiming 发表于 2025-3-1 09:15
学习了,感谢分享!

免费评分

参与人数 1吾爱币 -15 收起 理由
bian96 -15 警告:脱破求助区禁止回复『与主题无关非技术内容』,违者重罚!

查看全部评分

shenzhou360 发表于 2025-3-1 09:17
没看懂.........

免费评分

参与人数 1吾爱币 -15 收起 理由
bian96 -15 警告:脱破求助区禁止回复『与主题无关非技术内容』,违者重罚!

查看全部评分

baohe 发表于 2025-3-1 10:16
加密的不能解密码吧
moka518 发表于 2025-3-1 12:31
压缩包密码也能逆向吗,超出了认知
 楼主| leitianshuo 发表于 2025-3-1 12:43
baohe 发表于 2025-3-1 10:16
加密的不能解密码吧

正文说明了,目的不是破解压缩包,是找到软件对应的解密逻辑
 楼主| leitianshuo 发表于 2025-3-1 12:53
moka518 发表于 2025-3-1 12:31
压缩包密码也能逆向吗,超出了认知

正文说明了,目的不是破解压缩包,是找到软件对应的解密逻辑
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-3-30 21:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表