中国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 楼』:  

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 楼』:  

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 楼』:  

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 楼』:  

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 楼』:  

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 楼』:  

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 楼』:  

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]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: