一款发帖软件的逆向分析(C#)

 (****shuju****)

/*说明,本次记录仅限于技术研究交流,其他任何事物与本人无关*/

   拿到软件,第一步习惯性的打开看看,看到软件目录 有个 Interop.MSScriptControl.dll ,基本上十之八九是.net写的软件,至于是c#或者是vb.net,首先就搁在一边了,然后打开软件,大概几秒钟后,弹出对话框,机器码已经复制到剪辑版,猜测是联 进行了验证,然后看了一下机器码,大概是获取了cpu或者磁盘序 ,进行到这里,既然猜测是 络验证,下一步就是用抓包工具,看看他发了什么包,打开抓包工具Srsniffer,勾选行钩子,然后打开待分析的软件,可以看到是tcp协议,端口1433,看到这个熟悉的端口,就想到了是连接的远程数据库,当然封包看起来是乱码,也有一部分是明文,从明文当中可以判断连接的数据库地址为一个域名,当然这也只是猜测,我们需要去测试。进行到这一步,咱们攻克这个软件的整个思路就有了。他的流程猜测是这样,获取机器的硬件特征,然后连接数据库查询是否有信息,如果存在的话,验证成功,否则失败。那么,到这一步,我们大概知道了他连接的数据库地址,还需要一个帐 密码才有可能连上他的数据库进行操作。帐 密码怎么找呢,net写的软件 ,大家都知道可以反编译,我们先拖到OD,脱到OD发现,软件是加了壳子的,并且是一个商业的sp壳子,咱们总是想寻求一个巧妙的方法来简化软件分析时间,脱壳然后反编译,然后在源码里找到数据库的帐 密码,这么做完全是可以的,但是费时费力,分析过程十分痛苦。那么咱们就思考一下,软件可以载入OD,字符串是有的,连接数据库的时候是带用户名和密码,那么有没有可能数据库帐 和密码和连接地址放在一块呢,答案是肯定的,如果说他这个不加密的话,不出意外是在一起的,然后OD跑起来,打开内存窗口,搜索Unicode的连接地址,很快找到了可疑的东西,然后咱们记录一下,打开navicat,连接试试,OK成功进去,然后找到相关的数据库,打开数据表,增加咱自己电脑的硬件信息,到期时间等,保存,然后再一次打开软件,OK,成功进入。。

 

 

 

 

 

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年9月11日
下一篇 2017年9月11日

相关推荐