中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个加壳的批处理竟无法破解(已结)
« [1] [2] [3] »
作者:
标题: 一个加壳的批处理竟无法破解(已结) 上一主题 | 下一主题
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『楼 主』:  一个加壳的批处理竟无法破解(已结)

前段时间看到批处理加解密的大讨论,批处理是难真正的加密的,一般都可以在临时文件夹找到源码,但是今天恰好看到这个加壳的exe,竟然无法找到源码,请有兴趣的朋友一起研究下。

貌似帖子中无法上传附件,我已经把附件上传到论坛的上传系统那里了,下载地址是:

(已结,多谢下面回复的几位朋友)

[ Last edited by jonsonqf on 2008-7-2 at 10:30 AM ]

2008-6-29 15:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 2 楼』:  

那个用汇编写的bat2exe.com转换后的exe不生成临时文件,非一般方法可以得到源码



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-6-29 15:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 3 楼』:  

用Ollydbg打开EXE.  插件=> Ollydump=K.O.

2008-6-29 16:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 4 楼』:  

我似乎尚未发现有哪款BAT转EXE的工具能真正隐藏bat源文件。加壳的也一样。

除非源程序没有交互式的界面,而且执行速度非常快,快到你找到源文件来不及复制它就自动删除了。

所以找到源文件的简单办法就是, 执行转换了的exe文件,等到程序要你输入的时候,不理它, 到%tmp%目录找,总是能找到, 有时候还是隐藏的。

为了方便找到,在运行之前可以先清一下%tmp%目录, 把隐藏文件的选项关闭。

也许我孤陋寡闻, 所以希望哪个高手提供我一个如楼主说的找不到源文件的转换程序。(我无法下载楼主的附件,但我看了3楼帖的源码,相信在临时文件夹几乎能找到源码,因为那是个有交互界面的程序)

谢谢!

另外对于那些没有交互界面,执行速度较快的文件, 也许可以用下面的思路来抓住它。

编一个拷贝程序,加上一定的延时(延时多少视转换的执行程序的速度而定),不停的从%tmp%目录向不同目录拷贝, 然后启动那个程序,很有可能就抓住它了, 一次不行可以试多次。

[ Last edited by quya on 2008-6-29 at 09:44 PM ]



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-29 16:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mountvol
初级用户





积分 186
发帖 117
注册 2006-8-14
状态 离线
『第 5 楼』:  

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
autorun="dir *.bat&pause"
或者可以直接拷贝到你想拷贝的地方。

2008-6-29 16:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 6 楼』:  

我说下我的结果吧.
利用If 进行命令注入的时候尝试过 Call type "%~0"
但是.这个值为空.%cd%指向执行目录.
所以..我怀疑..这个Bat执行时没有临时文件.

过几天试试filemon看看.

2008-6-29 19:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by quya at 2008-6-29 04:37 PM:
我似乎尚未发现有哪款BAT转EXE的工具能真正隐藏bat源文件。加壳的也一样。

除非源程序没有交互式的界面,而且执行速度非常快,快到你找到源文件 ...

佩服下3楼先,不过我这边临时文件夹temp确实是找不到这个的,我相信3楼应该不是在临时文件夹找到的吧?请恕我比较菜,不知道3楼的这位朋友能不能说明白一点呢?非常感谢你的解答!

[ Last edited by jonsonqf on 2008-6-29 at 09:13 PM ]

2008-6-29 21:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by knoppix7 at 2008-6-29 07:39 PM:
我说下我的结果吧.
利用If 进行命令注入的时候尝试过 Call type "%~0"
但是.这个值为空.%cd%指向执行目录.
所以..我怀疑..这个Bat执行时没有临时文件.

过几天试试filemon看看.

他如果没有临时文件的话,那天怎么执行的呢?他这个应该本来就是个批处理吧?

2008-6-29 21:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by jonsonqf at 2008-6-29 09:10 PM:


他如果没有临时文件的话,那天怎么执行的呢?他这个应该本来就是个批处理吧?

凡是批处理的开头有
@shift
这一句的,肯定是从临时文件夹里找出来的, 源文件都没有这句!

我已经尝试了很多办法,都无法不生成临时文件!

请你按照我5楼的办法仔细找, 其实只要按照我的办法,用不着仔细找,应该说轻而易举就可以找到。



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-29 21:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by quya at 2008-6-29 09:47 PM:


凡是批处理的开头有
@shift
这一句的,肯定是从临时文件夹里找出来的, 源文件都没有这句!

我已经尝试了很多办法,都无法不生成临 ...

多谢这位朋友的帮忙,开头的@shift这个确实和平常不同的,我找到他释放的文件了,我也奇怪,我知道的也是没有不释放的。

但是,朋友,我传上来的这个比较特殊,其实也不算特殊,只是用了其他的小把戏,我建议你下载下来研究下,对你不无裨益的,呵呵。这个释放的目录不是在临时文件夹下的哦,难怪我之前找不到了

顺便我想请教下,开头的这个@shift这个的作用我不是很理解,是为了解释什么命令么?

[ Last edited by jonsonqf on 2008-6-29 at 10:29 PM ]

2008-6-29 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by jonsonqf at 2008-6-29 10:26 PM:



多谢这位朋友的帮忙,开头的@shift这个确实和平常不同的,我找到他释放的文件了,我也奇怪,我知道的也是没有不释放的。

但是,朋友,我传 ...

我无法下载,虽然我很想知道。

我想他可能用某种办法改变了TMP目录,最后运行完毕再改回来。



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-29 22:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 12 楼』:  

运行某批处理时,执行下面的命名即可找出对应的批处理文件在哪里了
wmic process where name="cmd.exe" get commandline

shift 能把%0 参数改变,可能用于防止某些利用%0 取得当前批处理路径的方法

   此帖被 +12 点积分      点击查看详情   
评分人:【 fastslz 分数: +10  时间:2008-6-30 03:38
评分人:【 vlq5299 分数: +2  时间:2008-7-3 16:23




正在潜水修练的批处理小白
2008-6-29 23:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 13 楼』:  

谢谢楼主, 我下载下来看了看。 他的临时文件还是在 %tmp%目录中,它先WINRAR自解压, 然后释放一个cmd文件,不过这个CMD的第一个字符估计是带特殊字符的,所以在Window界面无法看到,但在DOS命令行可以看到。

文件名的形式是 ?cmd????.cmd (第一个看不到,最后4个字符随机)

然后我就 ren *.cmd 1.cmd, 打开1.cmd 就完事了。

[ Last edited by quya on 2008-6-30 at 12:03 AM ]



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-29 23:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by quya at 2008-6-29 11:59 PM:
谢谢楼主, 我下载下来看了看。 他的临时文件还是在 %tmp%目录中,它先WINRAR自解压, 然后释放一个cmd文件,不过这个CMD的第一个字符估计是带特殊字 ...

呵呵,是的,我也找到了,不过我现在想的是怎么可以确切的得知他这个第一个字符是什么,我用了attr看了,是个很特殊的字符,我现在有几个疑问:

1.他是怎么建立这个特殊字符的文件夹,也就是说怎么打出来这个字符的,那个字符我用attr看了,好像是y是吗有2点的

2.这个文件夹既然用了这种方法隐藏了(我想应该是利用了attr的加隐藏属性),但是为什么还可以执行呢?就是@shift这句话的作用?

3.我前段时间用了一些加密工具加密,但是有些加密工具加密后,可以运行,但是加壳后却无法运行了

2008-6-30 01:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jonsonqf
初级用户





积分 65
发帖 29
注册 2007-10-14
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by dikex at 2008-6-29 11:32 PM:
运行某批处理时,执行下面的命名即可找出对应的批处理文件在哪里了
wmic process where name="cmd.exe" get commandline

shift 能把%0 参数改变,可能用于防止某些利用%0 取得当前批处理路径的方法

又学到了一招,非常感谢这位朋友的指点

另外想请教下,对于“shift 能把%0 参数改变,可能用于防止某些利用%0 取得当前批处理路径的方法”这句话不解,利用%0可以取得当前批处理路径?具体的操作是?

因为偶比较的菜,诚心请教,还望可以再次指点一二,谢谢!

2008-6-30 01:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: