[转载]豌豆荚逆向分析

[转载]豌豆荚逆向分析 – e@Board – 博客园.

最近玩手机应用,听说创新工厂有个豌豆荚,然后到官方往去下载,结果发现运行要求那里写着系统要求.net 2.0,一见到这个就高兴了,原来用.net做桌面应用的软件还是不少的,而且可能还可以逆向看部分代码。

装完豌豆荚,到安装目录里一看就看到几个关键的动态库了,其实豌豆荚用到了许多第三方开源库。就目前我知道的,有以下几个:

1.ffmpeg(http://ffmpeg.org/)大名鼎鼎的视频编码解码库,,豌豆荚在应该是用来做视频格式转换的,从几个dll的名称就可以看出

2.WebKit浏览器内核,豌豆荚是跟其它第三方应用市场合作的,基本上是通过web展示的,所以使用了WebKit的.net版本,具体可                    看http://github.com/webkitdotnet

3.用到了C#压缩组建 SharpZipLib,具体可以自行google

4.JavaScriptCore,JavaScript解析引擎,其实是WebKit的JavaScript引擎

5.Json.Net,就一Json的.net实现

接着对豌豆荚进行逆向,使用Reflector.exe逆向结果显示已经针对该工具加过壳,我一直从事.net应用程序的开发,对.net的保 护常识还是知道的,因为我们的软件也需要保护。Reflector.exe不行最多就是换个逆向工具嘛,使用ILSpy把豌豆荚一拖进去,源码自然全部就 出来了,结构如图

,只是由于使用了加壳和混淆工具,代码的一些核心都是使用一些奇怪的字符替换,要想分析经过混淆后的代码还是没那么容易的,只能通过代码逻辑来分析每个方法的作用了,至少可以看得到有些实现是什么做的。

本人只出于对于.net爱好的研究目的,做了简单的分析,也做一个警示,.net代码的保护不容忽视,在做开发时要学会保护软件。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏