當前位置:編程學習大全網 - 源碼下載 - 文件夾下兩個動態庫(ssse32.dll)同名,解決讀卡故障

文件夾下兩個動態庫(ssse32.dll)同名,解決讀卡故障

事件:

開發人員提供好開發的軟件(如軟件是下發的),需要適配讀卡器,軟件功能需要兩種讀卡器,需要兩種卡種類型,硬件如:德卡,華旭等。本次遇到的解決問題發現,兩個讀卡器放自己硬件配飾的dll是可以獨立讀卡的,替換時發現他們***有壹個ssse32.dll的文件。就是硬件讀卡器的設備文件。

過程:

1、用dll to c(dll2c)反編譯了ssse32.dll文件,發現文件的確不兼容的依據,某壹ssse32.dll再次依賴下層的dll(非系統層的dll)。

2、利用eXeScope、depends等工具查看硬件提供的硬件文件的dll依賴順序。靠經驗查看

3、思路,如果有條件查看相關源代碼,看看都可以調用哪個文件來執行ssse32.dll,本次無法借鑒源碼。

4、由於設備醫保讀卡器,發現有個yibao.dll,醫保都可以配送壹個單機讀卡軟件。足各刪除dll,形成文件的最少運行。

5、嘗試了把醫保讀卡器文件放到下層目錄(子目錄),軟件配合調用動態庫路徑,由於是PB開發,未果。

6、還嘗試了使用查看工具PEiD、Die工具嘗試是否有加殼,用ollydbg查看相關匯報執行。

思路:

1、在程序調用時更換ssse32.dll,無源碼,執行力難,且有的環境開機就加載dll了;

2、反編譯兩個ssse32.dll,重新生成新的壹個ssse32.dll,合並要求反編譯技術、匯編開發等技術;

3、找到調用ssse32.dll的上層文件,把上層文件裏面調用的ssse32.dll改名。

解決:

按照思路中的1、2難度高,可行性高的方法還是思路3。先找到exe和ssse32.dll中間的文件yibao.dll,再次反編譯,看ollydbg匯報執行,細節不談,未果。

何不用winhex直接查看,果然在yibao.dll 中找到ssse32.dll,修改成ssse33.dll,目錄下把醫保提供的ssse32.dll改成ssse33.dll復制到軟件根目錄。切記winhex修改文件數據不要加長,會影響結構。保持長度壹樣即可。故障技術上解決。

  • 上一篇:JSON Schema入門
  • 下一篇:做壹個小程序商城大概需要多少錢
  • copyright 2024編程學習大全網