为什么80%的码农都做不了架构师?>>>   

起初看到这个题目的时候都觉得不太可能,批处理还能做这个事?看完了以后,真觉得可能,只不过是用到了我没有常用到的hh.exe,来看看代码吧

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   :: chm文件反编译器 V1.3   ::   :: 功能:   ::   单个/批量反编译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       )    ) 

作者不光用后缀名的方式进行了判断,还在处理完成后判断是不是伪chm文件列表,这点做的不错,除了这个以外,还有一点收获,在cmd中输入hh.exe  磁盘名称,看看有什么效果,不错,打开了相应的盘符,以前都是用start  磁盘盘符打开的,又学了一手。

本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/413438

转载于:https://my.oschina.net/sucre/blog/296353

对用批处理写的chm反编译工具小析相关推荐

  1. 反编译android apk工具下载,apktool下载-apktool官方下载「APK反编译工具」-华军软件园...

    ApkTool是用于逆向工程Android APK文件的反编译工具,是一个免费的开源工具.Android开发人员有了ApkTool就可以解码来自第三方,封闭和二进制APK的资源.apktool可支持编 ...

  2. java反编译工具_JDA Java反编译工具的下载和使用手册

    JDA(javadecompile analysis)是一款以dex为核心的java反编译工具,同时支持apk.dex.jar文件的反编译,支持动态重命名.该软件主要是用来反编译分析代码而不是反编译出 ...

  3. NEO智能合约反编译工具

    2019独角兽企业重金招聘Python工程师标准>>> 0x00 前言 下拉最后看演示效果.项目地址 本来这应该是一个很和谐的感恩节假期,本来我可以很悠闲的写完所有作业然后随便看点论 ...

  4. apk反编译工具-apktool

    apk很easy被反编译,关于这篇文章apktool反编译工具. (一)优势反编译 1.能学习别人优秀代码 看看优秀apk他们的string.color命名规则,看看布局排版等都能学习到东西. 2.进 ...

  5. java反编译工具_漫话:如何给女朋友解释什么是编译与反编译

    戳蓝字"CSDN云计算"关注我们哦! 来源 | 漫话编程 某天下班后,我在家里进行电话面试,问到面试者这样一个问题:"你知道使用哪些办法可以反编译Java代码吗?&quo ...

  6. java开发利器 源码_Java开发的利器: 反编译工具 JD-GUI

    老赵说起来也能算个Java程序员,可是写过的Java代码并不多,可老赵实实在在是从程序员干起的.虽然肚子里也装了不少的东西,可作为一件乐此不疲的事情,就是看那些所谓"高人"的代码. ...

  7. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...

    我之前推送过Java代码的编译与反编译,其中简单的介绍了Java编译与反编译相关的知识,最近给GitChat写<深入分析Java语法糖>的时候,又用到了很多反编译相关的知识,遂发现哪篇文章 ...

  8. java反编译工具_安卓逆向之反编译工具的使用

    SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex.其语法是一种宽松式的 ...

  9. Android学习之反编译工具的使用

    1.Android反编译工具有很多,下面介绍三个反编译所需的工具,第一个为Androidfby反编译工具,第二个为dex2jar工具,第三个为jd-gui工具,这些工具有什么用途呢? (1).Andr ...

最新文章

  1. ldconfig命令详解,linux动态链接库
  2. 最新组合式模型量化方法,实现FPGA最高硬件利用率,准确率-推理速度达到SOTA...
  3. Flask-Login一些使用解释(根据官网和个人查找资料的理解并解释)
  4. 独家 | 熵–数据科学初学者必知的关键概念(附链接)
  5. python做些什么项目_Python 的练手项目有哪些值得推荐
  6. 决定好好研究一些开源的系统
  7. 迷宫问题(信息学奥赛一本通-T1255)
  8. ci持续集成工程师前景_『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
  9. wgs-84,gcj-02,bd-09的相互转换,高德,世界测量,百度坐标系的相互转换,坐标系转换
  10. 2021年中国主轴修复服务市场趋势报告、技术动态创新及2027年市场预测
  11. 【数据结构和算法】拓扑排序(附leetcode题 207/210 课程表)
  12. [原]Linux 命令行浏览器
  13. 代码整洁之道读书笔记----第二章---命名--第一节-名副其实
  14. 下载链接大全,持续更新...
  15. 服务器两个内存为何只显示4g_windows7系统插入2个4G内存条却只显示4G的设置步骤?...
  16. 我的个人品牌——钱胖子
  17. Python Pitfall: 时间戳长度- 10位和13位时间戳
  18. 学习笔记—增量式PID详细实现(C语言)
  19. WEB自动化_告警框处理(对话框、确认框、提示框、输入/编辑框、勾选框、单选框、复选框、下拉框)
  20. qmail的运行程序

热门文章

  1. layui 日历选中日期,自动填充
  2. 牛客网刷题(纯java题型 181~210题)
  3. codeforces 785D D. Anton and School - 2
  4. vagrant box php开发环境配置 -- 重新打包发布vagrant box
  5. [redis设计与实现][5]基本数据结构——整数集合
  6. ls:显示指定目录的详细信息
  7. ※编程随笔※=☆编程基础☆=※№ SVN工具自动属性 $Author$ $Date$ $Revision$ $URL$ $Header$替换...
  8. android开发我的新浪微博客户端-用户授权页面UI篇(3.1)
  9. 艾伟_转载:深入研究 Repeater
  10. gitlab修改项目的url