吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1821|回复: 18
收起左侧

[Python 原创] [Python3.3.1] EXE转BAT工具

[复制链接]
hdxzd12 发表于 2024-4-6 15:07
本帖最后由 20230713G001133 于 2024-4-6 15:09 编辑

用法:转换.py Input.exe Output.bat
仅限Python3.3.1
将包括但不限于EXE的文件转码为Base64并写入一个BAT文件中
import sys, os, base64, zipfile

use_zip = "-zip" in sys.argv
for_xp = "-xp" in sys.argv
use_script = "-zip" in sys.argv or "-xp" in sys.argv

ZIP_NAME = "z.zip"
EXE_NAME = "MEMZ.exe"
BASE64_NAME = "x"
JS_NAME = "x.js"

def writeScript(script, path):
        out = ""
        i = 0

        for line in script.splitlines():
                if i == 0:
                        out += 'echo %s>%s\r\n' % (batchescape(line), path)
                else:
                        out += 'echo %s>>%s\r\n' % (batchescape(line), path)

                i+=1

        return out

def batchescape(s):
        chrs = '<>|"&'

        for c in chrs:
                s = s.replace(c, "^"+c)

        return s#.replace("%", "%%")

out = "@echo off\r\n\r\n"

fn = sys.argv[1]

if use_zip:
        with zipfile.ZipFile("temp.zip", "w") as z:
                z.write(sys.argv[1], EXE_NAME, zipfile.ZIP_DEFLATED)

        fn = "temp.zip"

ifile = open(fn, "rb")
inp = ifile.read()
ifile.close()

b64 = base64.encodebytes(inp).decode('utf-8')
out += writeScript(b64, BASE64_NAME)

if use_zip:
        os.remove("temp.zip")

if use_script:
        out += "\r\n"

if use_zip:
        js = """f=new ActiveXObject("Scripting.FileSystemObject");i=f.getFile("%s").openAsTextStream();
x=new ActiveXObject("MSXml2.DOMDocument").createElement("Base64Data");x.dataType="bin.base64";
x.text=i.readAll();o=new ActiveXObject("ADODB.Stream");o.type=1;o.open();o.write(x.nodeTypedValue);
z=f.getAbsolutePathName("%s");o.saveToFile(z);s=new ActiveXObject("Shell.Application");
s.namespace(26).copyHere(s.namespace(z).items());o.close();i.close();""" % (BASE64_NAME, ZIP_NAME)

        out += writeScript(js, JS_NAME)
elif for_xp:
        js = """i=WScript.createObject("Scripting.FileSystemObject").getFile("%s").openAsTextStream();
x=WScript.createObject("MSXml2.DOMDocument").createElement("Base64Data");x.dataType="bin.base64";
x.text=i.readAll();o=WScript.createObject("ADODB.Stream");o.type=1;o.open();o.write(x.nodeTypedValue);
o.saveToFile("%s");o.close();i.close();""" % (BASE64_NAME, EXE_NAME)

        out += writeScript(js, JS_NAME)

out += "\r\n"

out += 'set v="%%appdata%%\\%s"\r\n' % EXE_NAME
out += "del %v% >NUL 2>NUL\r\n"

if use_script:
        out += "cscript %s >NUL 2>NUL\r\n" % JS_NAME
        out += "del %s >NUL 2>NUL\r\n" % JS_NAME
else:
        out += "certutil -decode %s %%v%% >NUL 2>NUL\r\n" % BASE64_NAME

if for_xp:
        out += "move %s %%v%% >NUL 2>NUL\r\n" % EXE_NAME

if use_zip:
        out += "del %s >NUL 2>NUL\r\n" % ZIP_NAME

out += "del %s >NUL 2>NUL\r\n" % BASE64_NAME
out += 'start "" %v%'

ofile = open(sys.argv[2], "wb")
ofile.write(out.encode('utf-8'))
ofile.close()

print(len(out), "characters.")

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
blindcat + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lccccccc 发表于 2024-4-6 17:31
本帖最后由 lccccccc 于 2024-4-6 17:33 编辑

这个应该是memz源码里面的吧?

你只是将py2的版本改成适用于py3的就发出来了
应该改成“转载”才行
wkdxz 发表于 2024-4-6 15:22
lemonatalk952 发表于 2024-4-6 15:24
默默地问一句,这样做的主要用途是?某些电脑不让执行外部exe?
 楼主| hdxzd12 发表于 2024-4-6 15:26
wkdxz 发表于 2024-4-6 15:22
试了一下,可惜火绒直接拦截了

火绒安全的人说符合检测模型但我不知道是什么模型
您好,kernel32.bat符合检测模型,不进行处理。
 楼主| hdxzd12 发表于 2024-4-6 15:27
lemonatalk952 发表于 2024-4-6 15:24
默默地问一句,这样做的主要用途是?某些电脑不让执行外部exe?

我觉得这个拿来做CrackMe不错
lemonatalk952 发表于 2024-4-6 15:30
我觉得这个拿来做CrackMe不错
安全软件不一定会放过的,最好是在沙盘、虚拟机上弄吧
 楼主| hdxzd12 发表于 2024-4-6 15:33
lemonatalk952 发表于 2024-4-6 15:30
安全软件不一定会放过的,最好是在沙盘、虚拟机上弄吧

转换器本身没恶意行为,但是转换的文件有没有恶意行为谁都不知道
侃遍天下无二人 发表于 2024-4-6 15:43
有些巨大无比的Linux安装脚本估计就是这么来的
头像被屏蔽
fanglei99 发表于 2024-4-6 16:06
提示: 作者被禁止或删除 内容自动屏蔽
zad3263 发表于 2024-4-6 16:24
感觉有用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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