Board logo

标题: [加密解密] 批处理加密样品【第六版】 [打印本页]

作者: defanive    时间: 2010-5-22 03:18     标题: 批处理加密样品【第六版】

此文件可能会引起某些杀毒软件的告警,请自行斟酌是否使用。

我现在太累了。。。

回到家,从11点半一直干到现在,快晕了。。。

还有一些细节问题没有优化(加壳,加花)。。。

总之现在能用了,看看有谁能破掉吧。。。

运行m.bat即可。。。

感觉批处理加密真是没出路了。。。

——————————————————————————

现在优化了一下,不过稳定性也下降了点(有时候批处理会无法运行)

现在应该很难破解了。。。

——————————————————————————

第三次修正。。。

在Netbenton等各位技术人员的帮助下,进一步完善了加密样品,稳定性也相对提高。。。

希望这项加密技术能不断完善,最终让批处理源码也得到保护。。。

这项技术同时将运用于BatProject 0.6 的调试中。。。

——————————————————————————

第四版。。。

这版换了一种加载的新方式,用于对抗脱壳式解密。。。

希望能凑效。。。

——————————————————————————

继续将部分字串符换用新的加载方式。。。

自检是否被调试,自检启动父进程是否system32下的cmd.exe。。。

现在破解越来越有难度了,大家加油。。。

——————————————————————————

换了新的字串符模式,现在不依赖CopyMemory,并且字串符不在内存中。。。

读内存的方法已经不可能了。。。

增加了对程序运行情况的检测。。。

链接: https://pan.baidu.com/s/1iyBtToRT3VSGCQaZQlbscw 提取码: q65y
作者: netbenton    时间: 2010-5-22 08:11

原码是不是这样呀?
@echo off
title 批处理简易计算器
echo 批处理简易计算器(加密测试)
echo Made By Defanive
:loop
set /p s=请输入算式:
set /a ans=%s%
echo    结果:%ans%
if %ans%==100 goto about
goto loop
:about
cls
echo Made By Defanive
pause
exit

作者: 523066680    时间: 2010-5-22 08:42     标题: 回复 2楼 的帖子

额,好像是。
郁闷啊,是不是上传错了。 不明真相的观众路过
作者: defanive    时间: 2010-5-22 13:33

。。。
大家是怎么破的。。。
作者: 523066680    时间: 2010-5-22 16:01

不知道本顿咋整出来的结果
这种加密算不算

6个变态的C语言Hello World程序
http://coolshell.cn/?p=914

我看他第一个就已经很猛了……
hello1.c
01            #define _________ }
02            #define ________ putchar
03            #define _______ main
04            #define _(a) ________(a);
05            #define ______ _______(){
06            #define __ ______ _(0x48)_(0x65)_(0x6C)_(0x6C)
07            #define ___ _(0x6F)_(0x2C)_(0x20)_(0x77)_(0x6F)
08            #define ____ _(0x72)_(0x6C)_(0x64)_(0x21)
09            #define _____ __ ___ ____ _________
10            #include<stdio.h>
11            _____


就最后那个下划线,hellow world! ........编译的程序没有getchar所以没暂停,用调用就可以看到hellow world!了

[ 本帖最后由 523066680 于 2010-5-22 16:02 编辑 ]
作者: defanive    时间: 2010-5-22 16:18

原来我忘记给dll加壳了。。。
直接用记事本打开dll就可以看到源码了。。。

我加壳,再优化一下,一会再发成品。。。
作者: defanive    时间: 2010-5-22 18:12

好了,现在应该没有办法获得源码了。。。
作者: netbenton    时间: 2010-5-22 19:19

我还是可以看到你的原码,加密方法有点巧,出于对你的劳动成果的尊重,怎么才能看到原码,我就不方便说了。

有个问题,不知道长一点的原码会不会有什么问题。
作者: Batcher    时间: 2010-5-22 19:36

0.2是这样的吗?
  1. ::Made By Defanive
  2. @echo off
  3. title 批处理简易计算器
  4. echo 批处理简易计算器(加密测试)
  5. echo Made By Defanive
  6. :loop
  7. set /p s=请输入算式:
  8. set /a ans=%s%
  9. echo    结果:%ans%
  10. if %ans%==100 goto about
  11. goto loop
  12. :about
  13. echo Made By Defanive
  14. pause
  15. goto loop
复制代码

作者: defanive    时间: 2010-5-22 21:10

继续完成了第三次修正,感觉已经比较完善了。。。
这种加密方法对批处理没有任何影响,也不存在任何功能的限制问题。。。
作者: Batcher    时间: 2010-5-22 22:14

0.3是这样的吗?
  1. ::Made By Defanive
  2. @echo off
  3. title 批处理加密样品
  4. set txt=批处理加密样品__Made_By_Defanive
  5. for /l %%a in (0,1,24) do call set /p=%%txt:~%%a,1%%<nul&ping -n 1 127.0.0.1 >nul
  6. ping 127.0.0.1 >nul
  7. :loop
  8. ping -n 1 127.0.0.1 >nul
  9. cls
  10. echo %date% %time%
  11. goto loop
复制代码

作者: sgaizxt001    时间: 2010-5-22 22:59

楼主悲剧,虽然我不会。但是看他们一下好象就给出答案来了
作者: defanive    时间: 2010-5-22 23:11     标题: 回复 12楼 的帖子

BatHome高手如云,高手们动手破解我的加密已是我的荣幸。。。
作者: 523066680    时间: 2010-5-23 15:07

也许可以把代码风格写的差一点
作者: defanive    时间: 2010-5-23 17:13

第五版。。。
快回学校了,下星期来看看被破解了没。。。
作者: weiyepin    时间: 2010-5-23 17:42

直接被杀软隔离了。。。
作者: defanive    时间: 2010-5-23 17:44     标题: 回复 16楼 的帖子

误报,实际上无毒。。。
作者: 523066680    时间: 2010-5-23 18:03

也许凡是加壳的都被判为有毒了。
作者: BAT1    时间: 2010-5-23 19:11

inexe不能运行(窗口一闪而过),用兼容模式会出现CMD。EXE遇到错误需要关闭。
作者: Seter    时间: 2010-5-23 19:20

原帖由 523066680 于 2010-5-23 15:07 发表
也许可以把代码风格写的差一点

OaKKKKKK...EXIST你太好玩了....要不要我来写 = =
作者: knoppix    时间: 2010-5-27 22:56

cndos那边发了。有反调试?ntsd od容易就挂上了
作者: nf99290    时间: 2010-5-27 23:25

原帖由 BAT1 于 2010-5-23 19:11 发表
inexe不能运行(窗口一闪而过),用兼容模式会出现CMD。EXE遇到错误需要关闭。


不是运行exe,是运行bat文件。

关注楼主是如何实现的,最近在测试一个改用户密码的批处理,算法在里面,看到源码就代表知道密码了。
作者: defanive    时间: 2010-5-29 11:58

关于反OD我还没有思路。。。
现在在自写CopyMemory,这样就可以防止读内存来获取源码。。。
作者: slore    时间: 2010-5-30 19:31

既然累何必折腾自己啊。

带个exe,dll看不到源码正常……
不知道如何应用到自己写的批处理。
从你的包里面看不到代码.bat
意味只发布出来不是bat?
还要加壳,增加误报风险,很划不来。


输入:test.bat(自己的一个批处理)
输出:inexe.dll,inexe.exe,m.bat
能实现么?如果能还是有应用,不能的话就比较没用了。。。
作者: Spring    时间: 2010-5-31 11:42

直接被杀了。。。
C:\Documents and Settings\issuser\桌面\批处理之家论坛下载_Test\Test\InExe.exe - 未查明的 NewHeur_PE 病毒


关了杀软试了一下,破解不了,没研究过EXE程序。
不过根据试验结果看楼主用心险恶啊,C:\1.bat 完全只是个幌子,我居然试图从它里面找源码,上当了。。。
作者: nf99290    时间: 2010-5-31 16:35

或许楼主要成为BAT源码加密的鼻祖了,如果复杂的代码都能正确运行的话。
作者: 523066680    时间: 2010-5-31 18:38     标题: 回复 24楼 的帖子

哈 slore明确讨论意义问题~    那应该是是作为一个挑战在挑战吧,
他可能还没公布一个公开的工具,而是提供成品来让我们尝试破解吧
等到最终版才发布。    很多加密我都不懂,小弟闪过。
作者: defanive    时间: 2010-6-4 13:03

任何代码都可以加密的,只不过是改一下dll源码中的几行代码罢了。。。
作者: fs822    时间: 2010-6-5 15:48

不错啊Def..貌似我这菜鸟最高记录破到第4版
有破解才有进步

其实我只是菜鸟级人物而已,刚开始研究一个月,
而且此论坛里所有人的破解方法都只是打打擦边球而已,并没什么真正有技术的人.

一会儿把你的加密放到看雪论坛上,让别人给你分析吧.
作者: knoppix    时间: 2010-6-5 16:33

自写copymemory又不代表别人不知道那个函数在哪里...
用ntsd+bp配合脚本直接转储就出来了
作者: 523066680    时间: 2010-6-5 17:17     标题: 回复 29楼 的帖子

此论坛里所有人的破解方法都只是打打擦边球而已,并没什么真正有技术的人.

深深地叹:嗖噶 …… 嗖噶……
作者: Batcher    时间: 2010-6-5 17:34

菜鸟路过,手持酱油瓶、情绪稳定地围观“真正有技术”的人。
作者: fkeqqkpdc    时间: 2010-6-6 22:42

你们都是高手呀你们建一个群好不好呀
作者: netbenton    时间: 2010-6-7 13:03

第六版源码是不是这样呀:
  1. @echo off&setlocal enabledelayedexpansion
  2. title 批处理加密样品 第六版
  3. set txt= 批处理加密样品 第六版  Made By Defanive
  4. set clr=0123456789abcdef
  5. mode con:cols=41 lines=3
  6. echo.
  7. set/p= ---------------------------------------<NUL
  8. for /l %%a in (1,1,39) do set /p=^>nul
  9. cls
  10. echo.
  11. for /l %%a in (0,1,29) do (
  12. set /p=t!txt:~%%a,1!<NUL
  13. call :color
  14. ping -n 1 127.0.0.1 >nul
  15. )
  16. for /l %%a in (1,1,10) do (
  17. call :color
  18. ping -n 1 127.0.0.1 >nul
  19. )
  20. for /l %%a in (1,1,40) do (
  21. set /p= <NUL
  22. call :color
  23. ping -n 1 127.0.0.1 >nul
  24. )
  25. for /l %%a in (1,1,32) do (
  26. set txt=        !date!  !time!
  27. set /p=t!txt:~%%a,1!<NUL
  28. call :color
  29. ping -n 1 127.0.0.1 >nul
  30. )
  31. :loop
  32. set /p=       !date!  !time!<NUL
  33. call :color
  34. ping -n 1 127.0.0.1 >nul
  35. goto loop
  36. :color
  37. set /a c=%random%%%16
  38. color !clr:~%c%,1!0
复制代码

作者: Batcher    时间: 2010-6-7 21:53     标题: 回复 34楼 的帖子

论坛公告里面有群的号码
作者: defanive    时间: 2010-7-3 21:05

第六版得破解出来,我才好继续完善啊。。。
大家加油。。。
作者: ejzhang    时间: 2010-8-2 12:24

杀软报毒的问题能解决吗?否则实用性会大打折扣的
作者: vsbat    时间: 2010-12-15 21:53

我怎么没搞清这个包里的 Inexe.exe 和 m.bat 怎么用? 执行都是一闪而过-
作者: strong12345    时间: 2011-1-13 02:41

我好久没关注bat代码了...
现在回来刚好看到
我想请问一下
您的工具是可以达到简单的  
原始bat → 加密工具 → 加密bat
而又是否 所有bat档都能是用您的加密技术,保证加密后可运行
且 我觉得很多bat好用在 跟其他档案的互动,例如处理文本等
是这类型bat也适用呢?
还有事不是 加密后都是 1个dll,1个exe,一个bat ?
作者: xuzhi    时间: 2011-1-23 12:34

都是高手!!!谢谢分享
作者: home    时间: 2011-1-23 18:28

一直在破解啊,楼主加油啊
作者: defanive    时间: 2011-1-24 02:21

好久不来BH了,今天竟然看到自己帖子被顶起来了。。。

回复 40楼 的帖子
任何P都是可以用这个技术的,当然前提是不被杀软干掉。。。
作者: lgh123    时间: 2011-1-27 22:24

我看看  ,,,,嘎嘎
作者: Batcher    时间: 2011-1-28 12:59     标题: 回复 37楼 的帖子

35楼的对不对?
作者: defanive    时间: 2012-1-6 14:23

回复 45# Batcher
对的,不过是手工一行一行得到的
众所周知CMD会把正在执行的一行放到内存的某个位置,明文可以看内存得到
根据前面几版的代码风格,一行一行拼起来就可以了
但是这样种方法也有问题,得到的不是完全源码
尤其是goto和call的时候不可能知道源码的走向,只能靠猜
技术上,如果长一点的源码就基本不可能再这样搞了
而且不可能每一行源码都得到,如果有些代码没有被执行就不可能知道
所以,暂时上这种加密还是安全的——没有杀软的干预的话。。
作者: lllsoslll    时间: 2012-6-12 11:54

本帖最后由 lllsoslll 于 2012-6-12 12:30 编辑

bat脚本是动态解释执行的, 苛刻的讲;编译成exe 总会限制脚本原有的功能;

类似于下面的代码,就无效了。。。
  1. @echo off
  2. echo %time%>>%~s0
  3. for /f "delims=" %%a in ('findstr /n "::@" %~s0')do echo 行:%%a
  4. pause
  5. ::@
  6. 信息。。。
复制代码

作者: lllsoslll    时间: 2012-6-12 11:57

看过VBS加密的, 加密后还是脚本, 很少见exe的。。。

脚本是解释执行, exe是操作系统加载器解释。。。 从脚本到exe发生了质的变化。。。 这不能叫bat的加密。。。。exe加壳那是令一个领域。。
作者: garyng    时间: 2012-6-14 11:34

回复 39# vsbat


    Vista 以上 似乎都是窗口闪过。。。关闭UAC 试试看
作者: 喃喃努努    时间: 2012-6-14 11:42

为什么下载下来报毒呢?直接被杀。
作者: forfiles    时间: 2012-6-14 16:27

回复 50# 喃喃努努


    因为杀毒软件总是自作聪明
作者: defanive    时间: 2012-6-14 16:56

回复 47# lllsoslll
对于改写批处理源文件的代码当然就无效了,源码已经被加密了,用普通的方法更改是不行的
作者: defanive    时间: 2012-6-14 17:02

回复 48# lllsoslll
这个加密实际上完全没有真正的把批处理转成exe,只不过把源码隐藏了起来,最终批处理的源码还是让cmd执行的。至于给exe加壳只是对抗一下暴力反编译的同学而已。除了有一小部分限制之外,基本上全部代码都可以被用同样的方式加密(当然你楼上给的那个改写文件自身的那个就不行了)。你甚至可以写一个批处理内容为@type "%~f0"&pause,然后我可以加密给你,加密完运行出来的结果也还是显示的批处理的源码。
作者: garyng    时间: 2012-7-8 09:05

话说,在vista以上的操作系统,如果读写c盘,uac就会砍掉了,建议楼主将1.bat释放到当前目录。

还有,我对加密方法的猜测:
估计创建出来的1.bat就是运行代码的主体,估计dll内藏的就是执行批处理代码的代码,而exe呢。。。就应该是负责注入dll了。

以上纯属猜测,有错误请指出。
作者: menqi20    时间: 2012-8-20 18:16

期待您的加密工具
作者: 853122    时间: 2014-2-3 13:16

加密除了不让人看到代码 还有啥好处呢
作者: liugang123200    时间: 2014-5-1 23:30

BatHome高手如云
作者: liugang123200    时间: 2014-5-1 23:30

BatHome高手如云
作者: kongfeng0824    时间: 2014-5-22 12:19

这段代码是实现什么用途呢?
作者: tail88    时间: 2014-12-26 13:45

感谢分享啊。
作者: email10t    时间: 2015-3-9 16:21

360误报,实际上无毒。
作者: email10t    时间: 2015-3-9 16:28

本帖最后由 email10t 于 2015-3-9 16:36 编辑

http://r.virscan.org/report/551150c46a61d0dd6c6d459453a36788
[attach]8316[/attach]
作者: MCRGZN    时间: 2015-8-13 13:01

不错不错不错不错不错不错
作者: Whatk    时间: 2016-5-21 23:03

话说是D大?
作者: re168    时间: 2016-7-2 00:17

,非常感谢!!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2