一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - bat - 批處理版chm文件反編譯器 v1.3

批處理版chm文件反編譯器 v1.3

2021-10-09 01:06namejm bat

你手頭是否有幾本chm格式的電子書?你是否有過滿世界搜索反編譯chm軟件的痛苦經歷?你是否抱怨過這些軟件有這樣或那樣的限制?然而,你是否意識到,就在你的系統里,微軟已經為你準備好了小巧而強悍的反編譯程序

作者不光用后綴名的方式進行了判斷,還在處理完成后判斷是不是偽chm文件列表,這點做的不錯,除了這個以外,還有一點收獲,在cmd中輸入hh.exe 磁盤名稱,看看有什么效果,不錯,打開了相應的盤符,以前都是用start 磁盤盤符打開的,又學了一手。

你手頭是否有幾本chm格式的電子書?你是否有過滿世界搜索反編譯chm軟件的痛苦經歷?你是否抱怨過這些軟件有這樣或那樣的限制?然而,你是否意識到,就在你的系統里,微軟已經為你準備好了小巧而強悍的反編譯程序?

  沒錯,微軟已經為各位準備好了這樣的軟件,它就是各位雙擊chm文件時系統默認調用的hh.exe!我沒有開玩笑,hh.exe這個毫不起眼的家伙,除了是個默默無聞的chm文件閱覽器之外,還是個現成的chm文件反編譯器!只是這個反編譯器的調用參數一直未見微軟公布,網上偶爾見到只言片語,也未引起大家的足夠重視,因此它一直是大隱隱于市。

  不過,hh.exe要成為我們手里的反編譯利器,光靠一條簡陋的命令是不夠的,它還需要各位的反復測試、耐心打磨。現奉上本人草就的代碼,只做了一些主要的功能,尚未做界面的美化,請各位測試。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: chm文件反編譯器 V1.3
:: code by namejm 2007.12.27~2010.4.9 bbs.bathome.net CMD@XP
::
:: 功能:
::   單個/批量反編譯chm文件,并保持資源的原始結構。
:: 使用方式有兩種:
::   ① 把單個或多個文件直接拖放到本程序。
::   ② 直接雙擊運行。此時處理的是當前目錄下所有以.chm為后綴的文件
:: 執行過程及處理效果:
::   因為 hh -decompile 語句不能使用引號,所以,先把原始資源釋放到
:: 短文件名格式的文件夾中,釋放完畢后再改名;
::   兩種執行方式都有簡單的容錯處理;反編譯后的資源放在單獨的文件夾
:: 中,此文件夾位于當前目錄,并以chm文件名命名。
::  無法識別不以.chm為后綴名的chm文件,但是可以識別以.chm為后綴名
::的其他文件(貌似有點拗口^_^)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
set TT=chm文件反編譯器 1.3
echo.&echo.&echo     正在反編譯CHM文件,請稍候...
cd /d "%~dp0"
:: 以拖動文件到批處理文件上的方式運行批處理時,%cd% 的值將會強制轉換為
:: %homepath%,因此,上一條語句非常關鍵!
set "destination=chm文件反編譯結果"
for /f "delims=" %%i in ("%destination%") do set "destination_short=%%~sfi"
md "%destination%" 2>nul
del /a /f "%destination%\偽chm文件列表.txt" 2>nul
if "%~1"=="" goto All
 
:Some
set str=%*
set "str=%str:"=%"
set "str= %str%"
call set "str=%%str: %~d1=" "%~d1%%"
for %%i in ("%str%") do (
  if not %%i=="" (
    title %TT%-正在處理"%%~nxi"
    if /i not "%%~xi"==".chm" (
      echo.&echo     "%%~nxi"不是chm文件
      echo.&echo     請按任意鍵繼續...
      pause>nul
      cls
      echo.&echo.&echo     正在反編譯CHM文件,請稍候...
    ) else (
      rd /q /s "%%~ni" 2>nul
      hh -decompile %destination_short%\%%~sni %%~sfi
      if not exist "%destination%\%%~sni" (
        echo "%%~nxi">>"%destination%\偽chm文件列表.txt"
      ) else (
        ren "%destination%\%%~sni" "%%~ni" 2>nul
      )
    )
  )
)
exit
 
:All
for /f "delims=" %%i in ('dir /a-d /b *.chm 2^>nul') do (
  title %TT%-正在處理"%%~nxi"
  rd /q /s "%destination%\%%~ni" 2>nul
  hh -decompile %destination_short%\%%~sni %%~sfi
  if not exist "%destination%\%%~sni" (
    echo "%%~nxi">>"%destination%\偽chm文件列表.txt"
  ) else (
    ren "%destination%\%%~sni" "%%~ni" 2>nul
  )
)

更新歷史:

2010.4.9
  把反編譯后的資源統一存放在指定的目錄下,不再與cmd文件位于同一
目錄下;
  修改了幾處錯誤:
  1、當把文件拖曳到cmd窗口時,能兼容絕大多數特殊情況,比如等號、
分號、&;唯有兩種情況無法處理:當路徑中帶&而沒有任何空格時;當路徑
中存在^符號時;但是,雙擊運行時不受任何特殊字符的影響;
  2、當拖曳過來的文件與cmd文件不在同一目錄下時也能正確處理;
  此為1.3版;
2008.3.13
  生成的文件夾與CHM文件名保持一致,無須對特殊字符再做任何替換;
感謝 隨風 的提醒;此為1.2版;
2008.1.27
  增添了反編譯多個指定CHM文件的功能;修正了不兼容文件名中帶^的
錯誤;修改了部分提示信息;此為1.1版;
2008.1.8
  不再把文件名中的&強制改為&,但是,文件名中的空格仍然沒法不去掉
2007.12.27
  初始版本1.0發布

反編譯是為了提取其中有用的資源,或是修改其中的錯誤而重新制作成chm文件。

反編譯后的效果我在代碼里已經說明了:單個/批量反編譯chm文件,并保持資源的原始結構。

到此這篇關于批處理版chm文件反編譯器 v1.3的文章就介紹到這了,更多相關chm文件反編譯器內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:http://www.bathome.net/thread-413-1-1.html

延伸 · 閱讀

精彩推薦
  • batWindows批處理更改當前工作路徑的BAT

    Windows批處理更改當前工作路徑的BAT

    最近項目上需要獲取文件夾下所有文件信息,因為文件夾是在server上,所以想用批處理bat來獲取該路徑下所有文件信息,然后通過任務計劃管理去每天自動...

    腳本之家12122021-10-07
  • batbat實現一分鐘清除系統中所有垃圾文件

    bat實現一分鐘清除系統中所有垃圾文件

      在桌面上點鼠標右鍵,選擇新建一個“記事本”,把下面的字復制進去,點“另存為”,把文件名定為“清除系統垃圾.bat”就完成,記住后綴名一定要...

    批處理之家10592021-11-14
  • batbat過濾任意字符

    bat過濾任意字符

    早在寫 bat的一個小游戲猜數字的時候我就研究過這個問題 如何在bat里面實現 對輸入的任意字符進行過濾 當時使用的幾種方法如下 ...

    allyesno11802021-12-26
  • bat變量延遲詳解 call setlocal

    變量延遲詳解 call setlocal

    變量延遲在for語句中起著至關重要的作用,不只是在for語句中,在其他的復合語句中,它也在幕后默默地工作著,為了突出它的重要性,本節內容在單獨的...

    腳本之家5742021-10-08
  • bat讓bat批處理以管理員權限運行的實現方法

    讓bat批處理以管理員權限運行的實現方法

    這篇文章主要介紹了讓bat批處理以管理員權限運行的實現方法,需要的朋友可以參考下...

    bat教程網6962021-10-08
  • bat使用 windows bat 腳本命令一鍵啟動MySQL服務的方法

    使用 windows bat 腳本命令一鍵啟動MySQL服務的方法

    這篇文章主要介紹了使用 windows bat 腳本命令 一鍵啟動MySQL服務的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的...

    明金同學14752021-10-07
  • bat批處理重命名系列案例代碼

    批處理重命名系列案例代碼

    這篇文章主要介紹了批處理重命名系列案例代碼,需要的朋友可以參考下...

    張戈10372021-10-07
  • batWindows下用bat命令行方式更改IE代理服務器設置方法

    Windows下用bat命令行方式更改IE代理服務器設置方法

    批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,批處理文件的擴展名為bat,下面通過本文給大家分享Windows下用bat命令...

    大蘿卜空心的6202021-10-06
主站蜘蛛池模板: 性欧美13处丶14处 | 免费的毛片视频 | 我把寡妇日出水好爽 | 999精品视频在线观看热6 | 爸爸干女儿小说 | 久草草在线视视频 | 99看视频 | 日本免费观看的视频在线 | 久久天天躁狠狠躁夜夜躁 | 91手机看片国产永久免费 | avtt在线播放 | 欧美a级v片在线观看一区 | 77成人影院 | 青青草原免费在线视频 | www.色呦呦.com | 国产日韩欧美成人 | 日韩在线一区二区三区 | 好男人影视社区www在线观看 | 高跟丝袜麻麻求我调教 | 四虎影视在线永久免费观看 | 精品一区二区三区免费毛片 | 午夜性色一区二区三区不卡视频 | 美女班主任让我爽了一夜视频 | 精品福利一区 | 国产v在线播放 | www国产精品 | 法国老妇性xx在线播放 | 美女狂揉尿口揉到失禁 | 韩国美女vip内部2020 | 成人国产在线视频 | 99精品国产成人a∨免费看 | 美女班主任下面好爽好湿好紧 | 福利久草| 亲爱的客栈第二季免费观看完整版 | 精品欧美一区二区三区在线观看 | 日韩免费一级片 | 欧美色综合高清免费 | 亚洲第一网色综合久久 | 禁忌4中文| 亚洲国产精品久久丫 | 国产精品青青青高清在线观看 |