标题: [其他] 解密Bat转换过后的Exe [打印本页]
作者: defanive 时间: 2009-8-12 23:51 标题: 解密Bat转换过后的Exe
今天一天上不了网,看起来我错过了很多东西。。。
名言:“加密对高手只是玩具”
这是新弄的东西,如果谁能把Bat的源码弄出来,就是高手了。。。
PS:其实对加密解密这方面已经静观多时,似乎个个软件的Bat转Exe都被破了,还写了很多教程。今天弄一个加密的,无非是看看这种转Exe的方法有没有前途罢了,没有任何其他目的
作者: slore 时间: 2009-8-13 00:24 标题: so?
@Echo Off
Title 测试工程——Defanive
Echo 测试工程——计算器
For /L %%a In (0,0,0) Do (
Echo.
Set /p Exp=请输入算式:
Call Set /a Ans=%%Exp%%>nul
Call Echo 结果:%%Ans%%
)
作者: slore 时间: 2009-8-13 00:26 标题: 这种方式=。=
支持 goto?不支持
如果非释放加密方式可以摆脱这个瓶颈就很不错了。
作者: defanive 时间: 2009-8-13 00:27
2L,请问你有对代码加工过吗?源代码的格式和这个有点偏差
很高兴,的确被破了。。。
(通过注册表截取?)
作者: slore 时间: 2009-8-13 00:42
我改了下罢了。。。因为你的本身不算“bat”吧。
很简单。。。
作者: slore 时间: 2009-8-13 00:43
我想到的有5种方法。
试了最简单的。。。
你原本的格式你用记事本打开就能看到了。
作者: canyuexiaolang 时间: 2009-8-13 07:08
这个吧,应该是了,排下版就好
作者: defanive 时间: 2009-8-13 12:21
目前看来,除了Bat2Exe那东西以外,没有其他加密方法安全。。。
可能Bat2Exe已经被破了。。。
本帖得出的结论,批处理加密的确是个掩饰。。。
作者: 基拉freedom 时间: 2009-8-13 12:27
对了 加密原理是什么啊??
作者: defanive 时间: 2009-8-13 12:46
9L,C++源码,还是那个老方法,所以说网上说的都不可信
#include <windows.h>
void main()
{
system("@Echo Off&Title 测试工程——Defanive&Echo 测试工程——计算器&For /L %a In (0,0,0) Do (Echo.&Set /p Exp=请输入算式:&Call Set /a Ans=%Exp%>nul&Call Echo 结果:%Ans%)");
}
作者: defanive 时间: 2009-8-13 12:47
以后不要听网上的人瞎说,自己实践最重要。。。
(按照网上的某个教程,代码到现在都没编译成功)
作者: slore 时间: 2009-8-13 12:53
Bat2Exe没用过。。。
脚本类应该无法掩饰其源码。。。
作者: defanive 时间: 2009-8-13 12:56
现在加密寄望于两样东西吧。。。
Bat2Com2Exe
Bat2Exec
后者好像更安全,根据源码来看,解密不简单。。。
作者: Seter 时间: 2009-8-13 13:01
那么这个exe通过UPX或者FSG加密以后你还认得出来吗?
作者: defanive 时间: 2009-8-13 13:04
别人也可以脱壳,如果不惜一切都要得到源码的话。。。
作者: Batcher 时间: 2009-8-13 13:07
bat2exe还是bat2com呢?
Bat2Com成功密技教程
http://bbs.bathome.net/thread-3441-1-1.html
作者: Seter 时间: 2009-8-13 13:08
不惜一切就没法说了,你用FILEMON截取我不信发现不了
作者: defanive 时间: 2009-8-13 13:15
我想问下Batcher
Bat2Com,Com2Exe
和
Bat2Exec
解密成功过吗?
作者: slore 时间: 2009-8-13 15:16
2com只能顺序执行吧。。。实用性大打折扣
bat2exec更郁闷。。。
@echo off
set iexplore.exe=IE
for /f "tokens=1" %%i in ('tasklist /NH') do (
echo %%i
)
goto :Found
goto :EOF
:Found
echo Found
pause
:EOF
EOF标签它不认得加上可以了。
但是For执行不了,能生成了,但是运行提示:
Bad command or file name
Bad command or file name
<RuuèαΘ£Bad command or file name
Found
Strike any key when ready...
都不好用啊。。。
作者: defanive 时间: 2009-8-13 15:54
虽然说转换效果实在差,但是能不能解密还是个问题。。。
作者: slore 时间: 2009-8-13 17:15
源码来看,是分析bat文件,用相应的COM的语法规则去实现功能,已经不是bat,只是和bat功能一样的com文件。
好比把你的那个程序用c写个,
请输出。。。的提示换printf
scan获取你输入。。。但是运行,你用C取换肯定麻烦。
源码的一部分:
;-----------------------------------------------------------------------------
; REM CMD Processes remark lines in batch file.
; Entry: SI - pointer to line in BAT file
;-----------------------------------------------------------------------------
rem_cmd proc near
assume cs:code,ds:code
dec si ;Back up to make sure we don't
rem_c1: lodsb ; miss a carrage return.
cmp al,1ah ;Loop until end of line or end
je rem_exit ; of file.
cmp al,13
jne rem_c1
rem_exit:
clc
ret
rem_cmd endp
用汇编把rem重写了个子程序。
你bat里面遇到rem就call这个子程序。。。
你怎么解密?它就不是加密bat……
作者: defanive 时间: 2009-8-13 17:33
仔细看了bat2exec的源码,的确,bat2exec就是这样做的。。。
执行批处理语句必须得过cmd,或者command,始终会被截取。。。
要绕过cmd和command,只有自己写一个新的cmd来解析批处理,或者把批处理解析成某种不需要通过cmd和command可以直接运行的语言。。。
bat2exec就是这样做的。。。
难道要自己写一个cmd出来?
作者: Seter 时间: 2009-8-14 10:50
我想自己写一个cmd是最好的方法了...不过这还不如自己写一个程序呐,写cmd效率太低
你看这个想法怎么样:
生成cmd.exe /c "****"后用Rootkit技术隐藏进程,即使用冰刃一类的软件也只能获取到cmd.exe而无法获取参数
隐藏参数嘛,就是在进程链表中pop这个值就可以了.不过要查找就麻烦得多
作者: defanive 时间: 2009-8-14 11:52
cmd执行还是无语的。。。
随时可能被截取到
作者: defanive 时间: 2009-8-14 11:53
人家只要把cmd随便换成个自己写的程序,那程序能把参数显示出来就没用了。。。
作者: Seter 时间: 2009-8-14 12:24
昏..那就把cmd.exe捆绑进去!!!!!然后释放!!!用此cmd运行!!!隐藏!!!
作者: defanive 时间: 2009-8-14 13:15
不错的办法。。。
但是cmd还是会运行自动代码,注册表可以调。。。
然后他们用代码查看就行了。。。
总之cmd缺陷太多,安全性负数。。。
作者: ZJHJ 时间: 2009-8-15 09:39 标题: 回复 1楼 的帖子
怎么这么不经事啊!- wmic process where name="cmd.exe" get commandline
复制代码
作者: defanive 时间: 2009-8-15 12:31 标题: 回复 28楼 的帖子
哈哈,的确是一次很失败的加密。。。
作者: detective1999 时间: 2013-3-12 18:31
回复 28# ZJHJ
怎么弄得啊?@@
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |