看以下我设想的代码:
@echo off
rem test
find /n "batch" %0>tttt.txt
for /f "delims=]" %%a in (tttt.txt) do (set str=%%a)
if not %str:~1%==8 goto test
rem test
rem test
ECHO The batch file is OK!
pause &exit
:test
echo Someone modify the file!!!
pause
这段代码判断批处理是否被改过,如改过,则执行其他代码。
这是一段简单的代码,可以复杂化。
比如用系统变量加密之后,有人会在程序中间插入 echo xxxx>view.txt 然后查看真实的值来分析程序。
用这个办法可以干扰这种做法, 而且可以用find 命令来过滤被加上 echo xxxx>view.txt 的代码,然后删除 view.txt 之类的文件, 当然重要部分再用其他代码迷惑。总之可以让分析的人花费大量时间去破解。
我只会这样简单的,期待高人能写出完美的代码。