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

[加密解密] 批处理文件bat转exe加密之后的解密破解还原方法

方案一:映像劫持 VS 所有动态释放型的bat转exe软件
首发地址(作者HAT):http://www.cn-dos.net/forum/viewthread.php?tid=43057


1、此处以破解经过《批处理潜行者V5.0》转换的批处理为例;

2、转换后的批处理下载地址:http://rtngslin.moe.hm/cndos-up/img/771.rar,解压后的可执行文件名为CS.exe;

3、本例中用到不是系统自带的 find 命令,而是的 GNU for Win32 的 find.exe (下载地址:http://bbs.bathome.net/thread-1114-1-1.html)。

破解方法如下:
  1. @echo off
  2. rem 指定bat转exe之后可执行文件的所在路径
  3. set CodeFile=C:\test\aa.exe
  4. echo 正在搜索,可能需要几分钟时间,请稍候...
  5. set MyVbs=%temp%\a.vbs
  6. set FlagFile=%temp%\a.txt
  7. >"%MyVbs%" echo Set WshShell = WScript.CreateObject("WScript.Shell")
  8. >>"%MyVbs%" echo WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe\Debugger", "ntsd -d", "REG_SZ"
  9. >>"%MyVbs%" echo WScript.Sleep 5000
  10. >>"%MyVbs%" echo WshShell.Run "%CodeFile%"
  11. >>"%MyVbs%" echo WScript.Sleep 5000
  12. >>"%MyVbs%" echo WshShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe\"
  13. >"%FlagFile%" echo.
  14. "%MyVbs%"
  15. for /f "delims=" %%a in ('find "%systemdrive%\\" -newer "%FlagFile%" -name "*.[bB][aA][tT]" 2^>nul') do (
  16.   set "BatPath=%%a"
  17. )
  18. echo %BatPath%
  19. if "%BatPath%" equ "" (
  20.   for /f "delims=" %%a in ('find "%systemdrive%\\" -newer "%FlagFile%" -name "*.[cC][mM][dD]" 2^>nul') do (
  21.     set "BatPath=%%a"
  22.   )
  23. )
  24. if "%BatPath%" neq "" (
  25.   echo 批处理路径:%BatPath%
  26.   echo 批处理内容:
  27.   type "%BatPath%"|more
  28. ) else (
  29.   echo 破解失败,请尝试其它破解方法。
  30. )
  31. pause
复制代码
方案二:OllyDBG VS 所有动态释放型的bat转exe软件(以批处理潜行者为例)
首发地址(作者HAT):http://www.cn-dos.net/forum/viewthread.php?tid=43499


1、此处以破解经过《批处理潜行者V5.0》转换的批处理为例;

2、转换后的批处理下载地址:http://rtngslin.moe.hm/cndos-up/img/771.rar,解压后的可执行文件名为CS.exe;

3、OllyDBG 的下载地址请自行 google 之。

破解方法如下:

1、用OllyDBG打开CS.exe

2、在OllyDBG的"反汇编"区域单击鼠标右键->"搜索"->"当前模块中的名称(标签)"



3、在弹出的搜索窗口中右键单击"WinExec"所在行->"在每个参考上设置断点"->关闭该搜索窗口



4、按F9键开始运行,到第一个断点处自动停止,在这里就能看到释放出来的批处理放在什么地方啦。此时批处理尚未被调用,所以我们大可不必担心批处理中可能存在的"危险性"代码给系统带来损害。



方案三:OllyDBG VS 所有动态释放型的bat转exe软件(以QBFC为例)
首发地址(作者HAT):http://www.cn-dos.net/forum/viewthread.php?tid=43502


1、此处以破解经过《Quick Batch File Compiler 3.1.5》转换的批处理为例;

2、转换后的批处理下载地址:http://rtngslin.moe.hm/cndos-up/img/875.zip,解压后的可执行文件名为CN-DOS.exe;

3、Quick Batch File Compiler 的下载地址请自行 google 之。

破解方法如下:

1、用OllyDBG打开CN-DOS.exe

2、在OllyDBG的"反汇编"区域单击鼠标右键->"搜索"->"当前模块中的名称(标签)"



3、在弹出的搜索窗口中右键单击"CreateProcessA"所在行->"在每个参考上设置断点"->关闭该搜索窗口



4、按F9键开始运行,到第一个断点处自动停止,在这里就能看到释放出来的批处理放在什么地方啦。此时批处理尚未被调用,所以我们大可不必担心批处理中可能存在的"危险性"代码给系统带来损害。注,释放出来的批处理文件加了隐藏属性。




方案四:Command Processor AutoRun VS 所有动态释放型的bat转exe软件
首发地址(作者tireless):http://bbs.bathome.net/viewthread.php?tid=3343#pid21164


1、此处以破解经过《批处理潜行者V5.0》转换的批处理为例;

2、转换后的批处理下载地址:http://rtngslin.moe.hm/cndos-up/img/771.rar,解压后的可执行文件名为CS.exe;

3、本例通过修改 Command Processor AutoRun 来防止exe所释放出来的bat被运行,并自动找出其所在路径。

破解方法如下:

1、导入以下reg文件。
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
  3. "AutoRun"="wmic PROCESS where Name=\"cmd.exe\" get CommandLine>%temp%\\路径.txt&start notepad %temp%\\路径.txt&exit"
复制代码
2、运行待破解的CS.exe文件,这时在自动打开的文本文件中即可找到exe所释放出来的bat(可能具有隐藏属性)的所在路径。

3、导入以下reg文件以恢复正常bat的运行。
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
  3. "AutoRun"=""
复制代码
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
2

评分人数

    • 老刘1号: 6666666666666666666666666666666666666666技术 + 1
    • vsbat: I like it技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

我以前破解都很简单的,有个软件可以动态跟踪EXE对文件的操作,直接就找到路径了。。。

TOP

回复 2楼 的帖子

本帖收集的例子最大特点是:可以避免exe文件中可能存在的恶意代码对系统造成的损害。

如果不考虑这一点,可以使用filemon之类的软件监控exe释放文件的路径,这样确实简单,但没啥技术含量,因此该类方案在本帖中不予收录。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

设置断点么。。。

其实直接在注册表里面加那个CMD启动自执行的BAT,然后在BAT里面加句Pause,暂停的时候直接拿走文件就可以了么,然后直接终止掉就不会执行下面的代码了。。。

TOP

依照现在的软件来看,都是最普通的写BAT代码到EXE(或者重新编译EXE),然后EXE执行时动态释放。。。

网上有很多文章说更高级的做法是利用C里面的system函数,就是直接调用DOS命令的函数。。。

那都是纸上谈兵,system的问题很多,system函数就等于直接在CMD里面输入运行,不仅预处理有问题,而且不像用BAT文件一样可以有标签和CALL等等,所以system是不可行的。更重要的是,人家为了不让别人看到代码,下载一个附带C程序编译器的软件,几乎是不太可能的,头文件的动态链接库是很大的。。。

所以,现在,到目前为止,我还没有看过一个转换软件不是动态释放的,只要监视就可以了。。。

TOP

回复 4楼 的帖子

原理上是这样,修改那个注册表项也是轻而易举的事情。但我不了解转换软件的内部工作原理,如果某些转换软件以 cmd /k 之类的方式来调用,则可能跳过我们设置的障碍,恶意代码仍有可能被执行。我觉得还是映像劫持比较可靠些,所以当时也没有收录这个方法。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6楼 的帖子

据说这个软件不是动态释放类型的,根据我当时的测试,确实没有发现动态释放。

C:\Test>bat2exec.exe

BAT2EXEC 1.5 (c) 1990, 1991 Ziff Communications Co.
PC Magazine ?Douglas Boling

Syntax: BAT2EXEC filename.ext


可惜的是,这个软件对很多批处理中的常用特性写法都不支持。后来,个中高手根据该软件的源代码得出结论:只要注意某些批处理编写技巧,完全有可能被该软件转换成功。但我觉得他总结的方法太过复杂,而我又对这个不太感兴趣,就没有再深入下去。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

Batcher把那东西传上来吧,90年的东西啊,这么老了。。。

TOP

网上有很多文章说更高级的做法是利用C里面的system函数,就是直接调用DOS命令的函数。。。

越高级,越累啊...
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

回复 8楼 的帖子

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

http://bbs.verybat.org/thread-15664-1-1.html
这种方法也是挺不错的^_^

TOP

回复 11楼 的帖子

顶楼方案一也是用的映像劫持,只不过修改注册表使用了VBS,目的在于摆脱对reg.exe的依赖。
你那个a.exe是自己开发的么?能否介绍一下?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 12楼 的帖子

If Trim(Command) <> "" Then
MsgBox Command
Else
Exit Sub
End If
仅此而已
1

评分人数

TOP

54cml 的读取 cmd.exe 的参数的方法不错。鉴于此,也可以用 wmic。
导入以下reg文件,再运行加密的exe:
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
  3. "AutoRun"="wmic PROCESS where Name=\"cmd.exe\" get CommandLine>%temp%\\路径.txt&start notepad %temp%\\路径.txt&exit"
复制代码
恢复注册表键值:
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
  3. "AutoRun"=""
复制代码
1

评分人数

TOP

回复 14楼 的帖子

这个无法防止exe中可能包含的恶意代码的执行吧?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表