首页
社区
课程
招聘
[求助]分析一个DLL碰到问题了
发表于: 2015-5-21 23:25 4759

[求助]分析一个DLL碰到问题了

2015-5-21 23:25
4759
一个叫 FileCompress.dll 的文件 ,ASPack 2.12 -> Alexey Solodovnikov [Overlay] 的壳,
倒不是想脱他的壳,想拿来用,已经分析出了这个dll提供了如下函数
FileDecompressToStrEx
FileDecompress

其中FileDecompressToStrEx 有三个参数,
调用他的过程如下
push eax
push 0
push ecx  "要解密的文件名"

到这里,想自己写程序,调用这个dll来解压缩文件,结果死活不成功,
不知道怎么搞。

dll文件和需要解压缩的server.xml在附件的压缩包里面,求大神帮瞧瞧,看
是否能把server.xml解压缩出正确的内容出来,深夜拜谢。

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
dll不能用的话,也可以直接分析文件格式
2015-5-22 04:33
0
雪    币: 1085
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
汗哦,我是超级菜鸟一个啊,哪里能够分析得出来文件格式啊。。
2015-5-22 08:13
0
雪    币: 627
活跃值: (663)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
4
压缩壳可以完美地脱掉,调试分析方便一些;脱加密壳则没多大意义。

FileCompress.dll 的导出函数有:
[FONT="Courier"]1  0041A190 StrCompressToFile
2  0041A08C FileDecompressToStrEx
3  00419F88 FileDecompressToString
4  00419ED0 FileDecompress
5  00419E14 FileCompress[/FONT]

其中 FileDecompressToStrEx 的函数声明可表示为:
[FONT="Courier"][COLOR="RoyalBlue"]int[/COLOR] FileDecompressToStrEx([COLOR="RoyalBlue"]char[/COLOR] *szFile, [COLOR="RoyalBlue"]char[/COLOR] *pOutBuffer, [COLOR="RoyalBlue"]int[/COLOR] *pOutBufferSize);

[B]参数[/B]
   szFile        : 要解压缩的文件路径、名称;
   pOutBuffer    : 接收输出解压数据的内存指针;
   pOutBufferSize: 整数指针,指向的值为这块输出内存的大小。

[B]返回值[/B]
   0               函数调用成功;
   -0x1            失败,错误未知;
   -0x2            失败,输出内存块太小,不足以接收全部解压内容。[/FONT]

用法
1. 先确定输出内存大小
[FONT="Courier"]   *pOutBufferSize = 0;   // 置 0 表示取解压后大小
   FileDecompressToStrEx("path to file", [COLOR="DarkOrange"]NULL[/COLOR], pOutBufferSize);[/FONT]
如果调用成功,*pOutBufferSize 含解压后的大小。
楼主帖的那个调用参数就是取需要的Buffer大小!

2. 按 *pOutBufferSize 的值分配内存,得到 pOutBuffer。

3. 解压文件
[FONT="Courier"]   FileDecompressToStrEx("path to file", pOutBuffer, pOutBufferSize);[/FONT]

楼主附件里文件 Server.xml 的解压结果:
[FONT="Courier"]<?xml version="1.0" encoding="GB2312" ?>
<root>
        <CAE default="电信地址">
                <site name="电信地址" IP="101.226.171.217" port="9999"/>
                <site name="联通地址" IP="175.102.134.169" port="9999"/>
        </CAE>
        <Switch>
                <Trade value="1"/>
                <CAE value="1" Caption="行情"/>
        </Switch>
        <AutoChooseBest auto="1"/>
        <Account>
                <SaveAccount value="1"/>
                <HideAccount value="0"/>
        </Account>
</root>[/FONT]
2015-5-27 10:57
0
雪    币: 1085
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
天啊,谢谢MistHill 大哥,前面没有等到回复,就没有关注这个问题了,没有想到得到你的完美解决,
再次感谢。
2015-6-14 13:43
0
游客
登录 | 注册 方可回帖
返回
//