开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 173|回复: 8
收起左侧

[求助] python转易语言

[复制链接]
结帖率:96% (22/23)
发表于 2024-10-30 16:21:16 | 显示全部楼层 |阅读模式   河南省郑州市
50精币
本帖最后由 口算MD5 于 2024-10-30 16:22 编辑
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
子程序1  
' d = b'65151f8d966bf596'
' e = b'88ca0f0ea1ecf975'
' def f(g, d, e):
' h = pyaes.AESModeOfOperationCBC(d, iv=e)
' i = b''.join(h.decrypt(g[j:j+16]) for j in range(0, len(g), 16))
' return i[:-i[-1]]
' j = requests.post(a, headers=b, data=c)
' if j.status_code == 200:
' k = j.text.strip()
' l = binascii.unhexlify(k)
' m = f(l, d, e)
' n = json.loads(m)
' for o in n['data']:
' p = f"aes-256-cfb:{o['password']}@{o['ip']}:{o['port']}"
' q = base64.b64encode(p.encode('utf-8')).decode('utf-8')
' r = f"ss://{q}#{o['title']}"
' print(r)


求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
结帖率:96% (22/23)

签到天数: 16 天

 楼主| 发表于 2024-11-1 08:32:10 | 显示全部楼层   河南省郑州市
再加100精币  有没有佬帮忙弄一下
回复

使用道具 举报

签到天数: 22 天

发表于 昨天 07:03 | 显示全部楼层   河北省石家庄市
你好歹把这个py 发全啊,别人好调试,你这个怎么给你翻译

评分

参与人数 1精币 +2 收起 理由
口算MD5 + 2 很赞同,谢谢!

查看全部评分

回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 21 天

发表于 昨天 07:13 | 显示全部楼层   云南省楚雄彝族自治州
import requests
import json
import binascii
import pyaes

# 定义AES解密函数
def f(g, d, e):
    h = pyaes.AESModeOfOperationCBC(d, iv=e)
    i = b''.join(h.decrypt(g[j:j+16]) for j in range(0, len(g), 16))
    return i[:-i[-1]]

# 示例数据,替换为实际URL、headers和data
a = 'http://example.com/api'  # 替换为实际URL
b = {'Content-Type': 'application/json'}  # 替换为实际headers
c = {'key': 'value'}  # 替换为实际data

# AES密钥和IV
d = bytes.fromhex('65151f8d966bf596')
e = bytes.fromhex('88ca0f0ea1ecf975')

# 发送POST请求
j = requests.post(a, headers=b, data=json.dumps(c))

if j.status_code == 200:
    k = j.text.strip()
    l = binascii.unhexlify(k)
    m = f(l, d, e)
    n = json.loads(m.decode('utf-8'))
    for o in n['data']:
        p = f"aes-256-cfb:{o['password']}@{o['ip']}:{o['port']}"
        q = base64.b64encode(p.encode('utf-8')).decode('utf-8')
        r = f"ss://{q}#{o['title']}"
        print(r)
else:
    print(f"Request failed with status code {j.status_code}")






评分

参与人数 1精币 +2 收起 理由
口算MD5 + 2 很赞同,谢谢!

查看全部评分

回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 21 天

发表于 昨天 07:23 | 显示全部楼层   云南省楚雄彝族自治州
你需要发python源码完整性发出来,要不然无法转换
回复

使用道具 举报

结帖率:96% (22/23)

签到天数: 16 天

 楼主| 发表于 昨天 10:46 | 显示全部楼层   河南省郑州市
后弦 发表于 2024-11-22 07:23
你需要发python源码完整性发出来,要不然无法转换

    l = binascii.unhexlify(k)


佬  这个翻译成易语言就行  
回复

使用道具 举报

结帖率:96% (22/23)

签到天数: 16 天

 楼主| 发表于 昨天 10:46 | 显示全部楼层   河南省郑州市
番茄吧 发表于 2024-11-22 07:03
你好歹把这个py 发全啊,别人好调试,你这个怎么给你翻译

    l = binascii.unhexlify(k)  佬 只翻译这一行就行
回复

使用道具 举报

签到天数: 22 天

发表于 昨天 14:36 | 显示全部楼层   河北省石家庄市
l = binascii.unhexlify(k)

输出调试文本 (到文本 (字节集_十六进制到字节集 (“48656c6c6f”)))

应该是这个,你看你需要结果是  字节集,就不要到文本,如果解码后有中文会乱码,就把到文本替换成  编码_Utf8到Ansi
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 21 天

发表于 昨天 16:23 | 显示全部楼层   云南省楚雄彝族自治州
  
变量名类 型静态数组备 注
url文本型 
headers文本型 
data文本型 
aesKey字节集 
aesIv字节集 
responseText文本型 
decryptedData字节集 
.局部_variable jsonData, 文本型
变量名类 型静态数组备 注
jsonObject对象 
dataArray对象 
i整数型 
item对象 
password文本型 
ip文本型 
port文本型 
title文本型 
ssUrl文本型 
// 设置URL、headers和data
url = “http://example.com/api”
headers = “Content-Type: application/json”
data = “{‘key’: ‘value’}”
// 设置AES密钥和IV
aesKey = 到字节集 (“65151f8d966bf596”, )
aesIv = 到字节集 (“88ca0f0ea1ecf975”, )
// 发送POST请求
responseText = Post_Json (url, data)
// 检查响应状态码
如果真 (取子文本 (responseText, 1, 3)“200”)
// 去除空白字符
responseText = 去两边空格 (取中间文本 (responseText, #换行符, #换行符, ))

// 十六进制字符串转字节集
decryptedData = 十六进制到字节集 (responseText)

// AES CBC模式解密
decryptedData = AesDecrypt_CBC (decryptedData, aesKey, aesIv)

// 解析JSON数据
jsonData = 到文本 (decryptedData)
jsonObject.创建 ()
jsonObject.从json文本载入 (jsonData)
dataArray = jsonObject.取属性对象 (“data”)

// 遍历数组
判断循环首 (dataArray.成员计数 () > 0)
item = dataArray.取属性对象 (i + 1)

password = item.取属性文本 (“password”)
ip = item.取属性文本 (“ip”)
port = item.取属性文本 (“port”)
title = item.取属性文本 (“title”)

ssUrl = “aes-256-cfb:” + password + “@” + ip + “:” + port
ssUrl = base64编码 (ssUrl)
ssUrl = “ss://” + ssUrl + “#” + title

调试输出 (ssUrl)

i = i + 1
判断循环尾 ()
调试输出 (“Request failed with status code ”取子文本 (responseText, 1, 3))

// 自定义函数:Post_Json
子程序名返回值类型公开备 注
Post_Json文本型 发送POST JSON请求
参数名类 型参考可空数组备 注
url文本型
json_data文本型
变量名类 型静态数组备 注
httpHttp类 
response文本型 
http.创建 ()
http.打开 (url, #HttpPost )
http.加入标头 (“Content-Type”, “application/json”)
http.写入内容 (json_data)
response = http.读出所有 ( #true )
返回 (response)
// 自定义函数:AesDecrypt_CBC
子程序名返回值类型公开备 注
AesDecrypt_CBC字节集 AES CBC模式解密
参数名类 型参考可空数组备 注
encrypted_data字节集
key字节集
iv字节集
变量名类 型静态数组备 注
decrypted_data字节集 
padding_length整数型 
decrypted_data = MyAes.AesDecryptCBC (encrypted_data, key, iv)
padding_length = decrypted_data [取数组成员数 (decrypted_data)]
删除成员 (decrypted_data, 取数组成员数 (decrypted_data) - padding_length + 1, padding_length)
返回 (decrypted_data)


i支持库列表   支持库注释   
InternetEx(未知支持库)
MyAes(未知支持库)


注意:

1.这里假设存在一个名为MyAes的支持库,其中包含AesDecryptCBC函数来进行AES CBC模式解密。
2.实际应用中可能需要根据实际情况调整代码中的细节,例如错误处理、网络请求库的选择等。
3.易语言的标准库并不直接支持AES加密/解密操作,因此需要引入额外的支持库或自行编写相关算法。
4.请确保在实际使用前测试并验证代码的功能正确性。

回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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