關於某軟體無法執行列印的分析歷程

2021-10-09 23:18:17 字數 2324 閱讀 5046

1.四處配置檔案中可疑的標籤

●具體描述:這四個配置檔案中都各有兩處assemblyidentity標籤,例如

●分析(assemblyidentity標籤):

#processorarchitecture屬性:用於指定處理器。有效值msil適用於所有處理器,有效值x86適用於32位windows,有效值ia64適用於64位windows,itanium適用於intel64位itanium處理器。

#type屬性:只允許其值為win32。

●個人想法:如果是處理器的問題,是否可以通過修改processorarchitecture屬性的有效值為msil來適配所有處理器?

2.四處配置檔案中可疑的標籤

●具體描述:這四個配置檔案中的前三個檔案中都各有一處deployment標籤,例如

●分析(deployment標籤):

#install屬性:指定此應用程式是否在 windows選單和控制面板的應用程式中定義狀態。 有效值為 true 和false。 如果為 false, clickonce 將始終從網路中執行此應用程式的最新版本。

●個人想法:部分檔案可能需要通過攔截從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 後的介面如下:

4.列印功能相關檔案存放於system.drawing,實現列印功能的核心是printdocument類

printdocument類包括以下幾個屬性、事件和方法:

1、printersettings 屬性:存放印表機的設定資訊這個屬性不需要程式設計師設定因為它是由列印對話方塊獲取的。

2、printcountroller 屬性:控制列印過程。

3、defaultpagesettings 屬性:存放頁面設定資訊 列印紙大小方向等也不需要程式設計師設定因為它是由頁面設定對話方塊獲取的。

4、documentname 屬性:指定文件名稱,出現在印表機狀態視窗中。

5、 beginprint事件:在列印之前發出。

6、printpage事件:每列印一頁是發出,事件接受乙個printpageeventargs引數該引數封裝了列印相關的資訊。

專案終止:

因需求人找到了問題所在,並告知於我,因此,此探索歷程就此結束(但本人對於此方面的學習歷程卻不會止步),需求人原話如下:「事情我已經搞明白了,這個軟體的作用是:在發票伺服器和查詢發票終端之間,構建了乙個**,所有用這個軟體的終端裝置必須先訪問**,經過**允許才能訪問伺服器。攻破這個**,把終端裝置的識別碼加入**允許系統,應該不好辦。我找人直接寫了乙個程式,終端裝置直接訪問伺服器」。

ORACLE關於執行計畫的簡要分析

一 如何開啟執行計畫 開啟執行計畫 執行 set autotrace traceonly off 如果提示sp2 0611,sp2 0618,按以下辦法建立相應使用者即可。1 sys使用者登入,執行 oracle home rdbms admin utlxplan.sql,建立plan table ...

關於PHP檔案的自動執行方法分析

這裡分析兩種方法 第一種方法 a.php檔案內容 如下 error log a.php is execute 0 ignore user abort 後台無阻斷執行 set time limit 0 一直給我執行 zhoz execute time 30 執行時間seconds,這裡設定成一分鐘跑一...

關於分析定位問題和日誌列印策略的思考

作為開發人員,在產品迭代過程中時常會遇到問題需要分析定位,而在分析和定位過程中一般要借助工具,要是能根據問題的現象就能找到原因,那麼對快速改進產品品質無疑是一種很大的提公升。那麼如何做才能達到這樣的效果呢?我個人認為要把握這兩點 1 後端在遇到異常錯誤處理流程時要將狀態碼和簡潔明瞭的描述資訊組合成一...