作者不光用后缀名的方式进行了判断,还在处理完成后判断是不是伪chm文件列表,这点做的不错,除了这个以外,还有一点收获,在cmd中输入hh.exe 磁盘名称,看看有什么效果,不错,打开了相应的盘符,以前都是用start 磁盘盘符打开的,又学了一手。
你手头是否有几本chm格式的电子书?你是否有过满世界搜索反编译chm软件的痛苦经历?你是否抱怨过这些软件有这样或那样的限制?然而,你是否意识到,就在你的系统里,微软已经为你准备好了小巧而强悍的反编译程序?
没错,微软已经为各位准备好了这样的软件,它就是各位双击chm文件时系统默认调用的hh.exe!我没有开玩笑,hh.exe这个毫不起眼的家伙,除了是个默默无闻的chm文件阅览器之外,还是个现成的chm文件反编译器!只是这个反编译器的调用参数一直未见微软公布,网上偶尔见到只言片语,也未引起大家的足够重视,因此它一直是大隐隐于市。
不过,hh.exe要成为我们手里的反编译利器,光靠一条简陋的命令是不够的,它还需要各位的反复测试、耐心打磨。现奉上本人草就的代码,只做了一些主要的功能,尚未做界面的美化,请各位测试。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: 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文件反编译器
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】