本帖最后由 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:这个就是 文件操作 ,所以我主题选择 文件操作 没毛病!- @echo off
- setlocal enabledelayedexpansion
- echo;正在破解正在运行的 加密批处理^(.Exe^) 文件...
- title 已经执行 1 次
- if not %1.==. (start %1)
- cls
- cd /d %tmp%
- :i
- set /a cs+=1
- title 已经执行 %cs% 次
- for /f %%i in ('dir /a-d/s/b *.bat 2^>nul') do (
- if not "%%i"=="" (
- cls
- title 发现:%%i
- echo 成功:%%i
- start Notepad %%i
- if not exist "%%i" (
- title 错误:'%%i'被清除。
- echo 错误:'%%i'被清除。
- ) else (
- set file=%%i
- call :msg1
- )
- )
- echo 按任意键重试
- pause>nul
- goto :i
- )
- cls
- echo 暂时没有发现正在运行的程序。
- goto :i
-
- :msg1
- set /p a=是否删除/结束这个批处理?^[Y^/N^]
- if /i "%a%"=="y" (
- if not exist "%file%" (
- cls
- echo 这个批处理已经被删除。
- pause
- )
- del /f /q "%file%" 2>nul
- if exist "%file%" (
- cls
- echo 这个批处理没有被删除。
- pause
- )
- )
- goto :i
复制代码 求评分QWQ! |