[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 破解Bat转Exe专用批处理2.0

本帖最后由 cmd1152 于 2022-1-2 21:25 编辑

平时我们在代码发现了一些BUG,但他已经转Exe了,无法获得源代码。Batcher的方法(映像劫持)容易报毒。所以可以使用这个批处理获得代码。
使用方法:
1.运行批处理
2.打开要破解的 被加密批处理(就是.Exe) 。
3.等待程序的响应
获得代码之后如果第一行是@shift /0,就删除第一行的@shift /0,这样才是源码。
目前测试105个 Bat转Exe 程序,全部有效。
缺点就是必须运行程序,所以无法判断是不是恶意程序(恶意代码可能被执行才显示代码,那时已经来不及了...)

http://bbs.bathome.net/viewthread.php?tid=59814&extra=就是我用这个破解出来的
ps:这个就是 文件操作 ,所以我主题选择 文件操作 没毛病!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo;正在破解正在运行的 加密批处理^(.Exe^) 文件...
  4. title 已经执行 1 次
  5. if not %1.==. (start %1)
  6. cls
  7. cd /d %tmp%
  8. :i
  9. set /a cs+=1
  10. title 已经执行 %cs% 次
  11. for /f %%i in ('dir /a-d/s/b *.bat 2^>nul') do (
  12. if not "%%i"=="" (
  13.   cls
  14.   title 发现:%%i
  15.   echo 成功:%%i
  16.   start Notepad %%i
  17.   if not exist "%%i" (
  18.    title 错误:'%%i'被清除。
  19.    echo 错误:'%%i'被清除。
  20.   ) else (
  21.    set file=%%i
  22.    call :msg1
  23.   )
  24. )
  25. echo 按任意键重试
  26. pause>nul
  27. goto :i
  28. )
  29. cls
  30. echo 暂时没有发现正在运行的程序。
  31. goto :i
  32. :msg1
  33. set /p a=是否删除/结束这个批处理?^[Y^/N^]
  34. if /i "%a%"=="y" (
  35. if not exist "%file%" (
  36.   cls
  37.   echo 这个批处理已经被删除。
  38.   pause
  39. )
  40. del /f /q "%file%" 2>nul  
  41. if exist "%file%" (
  42.   cls
  43.   echo 这个批处理没有被删除。
  44.   pause
  45. )
  46. )
  47. goto :i
复制代码
求评分QWQ!
4

评分人数

梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

思路不错.
如果不释放就无效.

TOP

回复 2# peterboy666


    只要是 加壳批处理 都可以用(因为批处理永远是批处理...)
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 2# peterboy666


    ......只要是用批处理转的就一定会释放文件.....
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 2# peterboy666


    你可以做一个测试:去 第三方命令行 下载一个我发的第三方,再用这个程序。
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 路过 于 2021-9-1 23:31 编辑

代码可以再改进一下,比如%tmp%里有多个bat时该如何判断等等。
或者把bat转成的exe程序拖入本破解程序里,自动实现破解最好

TOP

回复 6# 路过


   
代码可以再改进一下,比如%tmp%里有多个bat时该如何判断等等。
或者把bat转成的exe程序拖入本破解程序里,自动实现破解最好

    本来就是自动破解
    多个?马上更新....
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 6# 路过


    不对呀...运行一个程序怎么会出现两个BAT?
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

支持拖入方式的操作。

还可以判断弹出提示框——“已解码”       “非bat文件,不能解码”。
如此就专业多了吧。

TOP

回复 9# locoman


    所以你如何判断....(Exe有其他语言编的...)
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 9# locoman


   
支持拖入方式的操作。

    马上更新
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

方法:
1. 如果是静态分析 EXE 并解出 BAT 这个很有难度,也不通用,
2. 如果是动态分析 EXE 当运行 API 下中断,这能 100% 解出,
3. 而楼主的方法是最简单且通用的方法,值的推荐.

基本上
方法 2 是万用法,需有 Debug 基础,
方法 3 是通用法,
小缺点:
1. 有机率可能 BAT 已被删除,所以抓不到.
2. 若是 EXE 调用 API 直接运行 cls&ver&dir& ..... 不会解包,所以抓不到(已实测过).

TOP

回复 12# peterboy666


    BAT被删除了会报错!
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 12# peterboy666


    直接调用API?那他也会生成临时文件,不过后续名不是bat
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 12# peterboy666


    所以抓不到。
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

返回列表