(****shuju****)
/*说明,本次记录仅限于技术研究交流,其他任何事物与本人无关*/
拿到软件,第一步习惯性的打开看看,看到软件目录 有个 Interop.MSScriptControl.dll ,基本上十之八九是.net写的软件,至于是c#或者是vb.net,首先就搁在一边了,然后打开软件,大概几秒钟后,弹出对话框,机器码已经复制到剪辑版,猜测是联网进行了验证,然后看了一下机器码,大概是获取了cpu或者磁盘序号,进行到这里,既然猜测是网络验证,下一步就是用抓包工具,看看他发了什么包,打开抓包工具Srsniffer,勾选行钩子,然后打开待分析的软件,可以看到是tcp协议,端口1433,看到这个熟悉的端口,就想到了是连接的远程数据库,当然封包看起来是乱码,也有一部分是明文,从明文当中可以判断连接的数据库地址为一个域名,当然这也只是猜测,我们需要去测试。进行到这一步,咱们攻克这个软件的整个思路就有了。他的流程猜测是这样,获取机器的硬件特征,然后连接数据库查询是否有信息,如果存在的话,验证成功,否则失败。那么,到这一步,我们大概知道了他连接的数据库地址,还需要一个帐号密码才有可能连上他的数据库进行操作。帐号密码怎么找呢,net写的软件 ,大家都知道可以反编译,我们先拖到OD,脱到OD发现,软件是加了壳子的,并且是一个商业的sp壳子,咱们总是想寻求一个巧妙的方法来简化软件分析时间,脱壳然后反编译,然后在源码里找到数据库的帐号密码,这么做完全是可以的,但是费时费力ÿ