无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 37802|回复: 116
打印 上一主题 下一主题

[原创] 仅有6KB的 ShellExecuteEx 实用程序,可用于绕过wow64,静默运行bat,UAC提权

    [复制链接]
跳转到指定楼层
1#
发表于 2020-11-9 22:03:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 CodeHz 于 2021-1-7 12:36 编辑


(大概兼容 winxp 以上,帮助用英文是因为用A系列函数中文会乱码,极限优化到导入表只有4个dll,甚至不依赖c库,非静态链接)
用法举例
  • shellexecuteex /dir yyy xxx.bat
    在yyy目录执行批处理,隐藏窗口
  • shellexecuteex /verb edit xxx.bat
    编辑xxx.bat文件
  • shellexecuteex /verb runas /show 5 xxx.bat
    UAC提权,然后显示窗口运行 xxx.bat
  • shellexecuteex /wow64 /show 5 cmd.exe
    解除 WoW64 文件系统重定向的情况下运行 cmd (可以看标题栏显示的路径)
特别注意,由于默认是隐藏窗口执行的,所以有可能出现打开后台程序但是没有可见窗口的情况
为什么不用 vbs : 专门开一个脚本跑 shellexecute 不觉得有点蛋疼吗,另外还有 wow64 的问题(
源码: https://gist.github.com/codehz/38972dec42cb8ce9e400fbbc2967183c
预编译镜像 (32位+64位)
32位 shellexecuteex32.exe (6 KB, 下载次数: 198)
64位 shellexecuteex.exe (6 KB, 下载次数: 258)



评分

参与人数 5无忧币 +22 收起 理由
FV4371 + 5 很给力!
freesoft00 + 5
chshrm + 5 很给力!
being + 2 赞一个!
Allreal + 5 赞一个!

查看全部评分

2#
发表于 2020-11-9 22:08:08 来自手机 | 只看该作者
也就是说,批处理打开记事本也是不会出现窗口的?

点评

不是的,只有第一个窗口不会出现,其他方法创建的新进程不受影响。。。 也要隐藏的话,你可以在批处理里继续使用shellexecuteex(  详情 回复 发表于 2020-11-9 22:09
回复

使用道具 举报

3#
 楼主| 发表于 2020-11-9 22:09:31 | 只看该作者
nttwqz 发表于 2020-11-9 22:08
也就是说,批处理打开记事本也是不会出现窗口的?

不是的,只有第一个窗口不会出现,其他方法创建的新进程不受影响。。。
也要隐藏的话,你可以在批处理里继续使用shellexecuteex(
回复

使用道具 举报

4#
发表于 2020-11-9 22:32:32 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2020-11-9 22:35:35 | 只看该作者
这个很厉害啊。
回复

使用道具 举报

6#
发表于 2020-11-9 22:36:50 | 只看该作者
>大概兼容 winxp 以上,帮助用英文是因为用A系列函数中文会乱码

为何不用 W 系列函数 ?

点评

(事实上主要的部分ShellExecute是使用W的,Message Box属于次要的,就不用这么折腾了(zig语言默认是utf8的字符串)  详情 回复 发表于 2020-11-10 00:47
回复

使用道具 举报

7#
发表于 2020-11-9 22:37:21 | 只看该作者
试试看
回复

使用道具 举报

8#
发表于 2020-11-9 23:34:48 | 只看该作者
#在这里快速回复#赞一个!
回复

使用道具 举报

9#
发表于 2020-11-10 00:31:43 | 只看该作者
回复

使用道具 举报

10#
发表于 2020-11-10 00:33:08 | 只看该作者
感谢分享
回复

使用道具 举报

11#
发表于 2020-11-10 00:34:31 | 只看该作者
什么东西
回复

使用道具 举报

12#
 楼主| 发表于 2020-11-10 00:47:06 | 只看该作者
plusv 发表于 2020-11-9 22:36
>大概兼容 winxp 以上,帮助用英文是因为用A系列函数中文会乱码

为何不用 W 系列函数 ?

(事实上主要的部分ShellExecute是使用W的,Message Box属于次要的,就不用这么折腾了(zig语言默认是utf8的字符串)

点评

我简单试了汉化, 貌似没问题, [attachimg]468171[/attachimg]  详情 回复 发表于 2020-11-10 01:08
回复

使用道具 举报

13#
发表于 2020-11-10 00:52:53 | 只看该作者
这个很厉害啊。
回复

使用道具 举报

14#
发表于 2020-11-10 01:08:19 | 只看该作者
本帖最后由 plusv 于 2020-11-10 01:14 编辑
CodeHz 发表于 2020-11-10 00:47
(事实上主要的部分ShellExecute是使用W的,Message Box属于次要的,就不用这么折腾了(zig语言默认是utf8 ...

我简单试了汉化,
貌似没问题,



点评

其实是这样的,这事说起来比较复杂,本质上还是设计约束下的被迫之举 zig设计里panic报告错误的时候只能携带一个utf-8的字符串,很多内置的机制都依赖于此(为了跨平台,用单一字符串编码是一种trade off) 然后我  详情 回复 发表于 2020-11-10 11:08
回复

使用道具 举报

15#
发表于 2020-11-10 01:31:56 | 只看该作者
好早就想找此类程序了,之前是通过vbs脚本实现的
回复

使用道具 举报

16#
发表于 2020-11-10 03:38:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

17#
发表于 2020-11-10 05:25:27 | 只看该作者
good program, thx
回复

使用道具 举报

18#
发表于 2020-11-10 06:43:04 来自手机 | 只看该作者
差不多吧,隐藏窗口的第三方以前也有,不过这个功能又多。
回复

使用道具 举报

19#
发表于 2020-11-10 07:02:15 | 只看该作者
很好的一个软件,支持
回复

使用道具 举报

20#
发表于 2020-11-10 07:36:18 | 只看该作者
这个语言很有意思呀,了解一下.
回复

使用道具 举报

21#
发表于 2020-11-10 08:03:37 | 只看该作者
顶一个
回复

使用道具 举报

22#
发表于 2020-11-10 08:10:23 | 只看该作者
支持一下
回复

使用道具 举报

23#
发表于 2020-11-10 08:32:05 | 只看该作者
大小合适
回复

使用道具 举报

24#
发表于 2020-11-10 08:39:38 | 只看该作者
谢谢
回复

使用道具 举报

25#
发表于 2020-11-10 08:47:51 | 只看该作者
谢谢分享
回复

使用道具 举报

26#
发表于 2020-11-10 08:59:27 | 只看该作者
感谢分享
回复

使用道具 举报

27#
发表于 2020-11-10 09:52:07 | 只看该作者
后台无声无影运行程序
回复

使用道具 举报

28#
发表于 2020-11-10 10:17:01 | 只看该作者
感谢分享
回复

使用道具 举报

29#
发表于 2020-11-10 10:27:38 | 只看该作者
谢谢分享,收藏备用                                                                                  。
回复

使用道具 举报

30#
发表于 2020-11-10 10:50:34 | 只看该作者
多谢分享原创,随便找个bat试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 01:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表