**前的分析
说明:本文所说的四个配置文件是指在dzfp文件夹中的getcall.application、getcall.exe.manifest、getcall.vshost.application、getcall.vshost.exe.manifest
1.四处配置文件中可疑的<assemblyIdentity>标签
●具体描述:这四个配置文件中都各有两处assemblyIdentity标签,例如<assemblyIdentity name="(具体内容根据各文件而定)" version="1.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" />
●分析(assemblyIdentity标签):
#processorArchitecture属性:用于指定处理器。有效值msil适用于所有处理器,有效值x86适用于32位windows,有效值IA64适用于64位windows,Itanium适用于Intel64位Itanium处理器。
#type属性:只允许其值为win32。
●个人想法:如果是处理器的问题,是否可以通过修改processorArchitecture属性的有效值为msil来适配所有处理器?
2.四处配置文件中可疑的<deployment>标签
●具体描述:这四个配置文件中的前三个文件中都各有一处deployment标签,例如<deployment install="true" mapFileExtensions="true" />
●分析(deployment标签):
#install属性:指定此应用程序是否在 Windows菜单和控制面板的应用程序中定义状态。 有效值为 true 和false。 如果为 false, ClickOnce 将始终从网络中运行此应用程序的最新版本。
#mapFileExtensions属性: 如果为true,则部署中的所有文件都必须具有.deploy 扩展名。 ClickOnce 从 Web 服务器下载这些文件后,会立即将其从 Web 服务器中去除。 如果使用发布应用程序 VisualStudio ,它会自动将此扩展添加到所有文件。 此参数允许 ClickOnce 从 Web 服务器下载部署中的所有文件,这些文件阻止以 “不安全” 扩展(如 .exe)结尾的文件的传输。
●个人想法:部分文件可能需要通过拦截从Web服务器到本地的传输这一过程来获取。
3.断网后,或者删除四个配置文件后,打开 电子发票.exe 都显示服务器正在维护。
●个人想法:这不是一个离线程序,许多数据需要调用服务器中的数据库来获取。
软件的**
1.用Exeinfo PE查壳,此程序无壳(MS Visual C# / Basic.NET ] - EP Token : 06000005),为.NET程序,可用de4dot,reflector,ildasm等软件反编译
2.本人选用Reflector进行反编译,将 电子发票.exe 程序集导入
导出其源代码,源代码文件如下
obj文件夹内容如下
●个人想法:源代码文件的obj文件中只有x86文件夹,因此初步怀疑,此软件只适用于32位操作系统(x86~32位, x64~64位),然而,已知的事实是64位操作系统也可以适用,并能正常进行打印,因此,与假设产生矛盾,暂无答案。
3.由于是.NET程序,所有可用dnSpy进行调试,当用64位的dnSpy运行时,提示该程序为32位,需要用32位的dnSpy进行调试。导入 电子发票.exe 后的界面如下: