开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 307|回复: 10
收起左侧

[交流] C翻译易语言

[复制链接]
结帖率:50% (12/24)
发表于 7 天前 | 显示全部楼层 |阅读模式   陕西省延安市


uint8_t EncodeBitMasks[] = {
0x8C, 0x87, 0xD, 0x85, 0xD4, 0x64, 0x63, 0xE5, 0xBA,
0x7E, 0xB8, 0x68, 0x9D, 0x9F, 0xF5, 0xBC, 0xA0, 0xE3,
0x3A, 0x22, 0x19, 0x21, 0x39, 0x78, 0xEE, 0x27, 0x36,
0x15, 0x74, 0xC7, 0x97, 0xC9, 0xCE, 0xE2, 0x7B, 0x4C,
0x98, 0xA1, 0xC2, 0x59, 0x41, 0xC0, 0x1E, 0x2E, 0x95,
0xEB, 0xDE, 0x69, 0x1D, 0x5B, 0x53, 0xDA, 0xF4, 0xA,
0x4F, 0xBB, 0xB7, 0x24, 0x33, 0xF, 0xC8, 0x84, 0x29 ,
0x89, 0x3C, 0x1C, 8, 0x49, 0xC6, 0xFE, 0xCC, 0x23   ,
0x3E, 0xE1, 0x4E, 0x8B, 0x13, 0xE7, 0x1A, 0x5D, 0xCF,
0xB1, 0x47, 0x8F, 0xD8, 0x72, 0x4B, 0x93, 0x6E, 0x73,
0x4D, 0x94, 0xDD, 0x82, 0x14, 0xA7, 3, 0xF9, 0xF1   ,
0xC5, 0x8D, 0x79, 0x2A, 0xC4, 0xDC, 0x60, 0x5F, 0xD7,
0x62, 0xB5, 0xE9, 0xB3, 0xB6, 0x12, 0xA8, 0x32, 0xD9,
0xC3, 0x6A, 0x75, 0x4A, 0xA2, 0xC, 0x26, 0x91, 0x5A ,
0xAD, 0x6D, 0x44, 0x10, 0xB4, 0x46, 0x1B, 0x66, 0x81,
0x20, 0xFD, 0x7F, 0x88, 0x25, 0x9C, 0x71, 0xD3, 0xE6,
0x80, 0xE4, 0xFA, 0x42, 0x9B, 0x37, 1, 0xFC, 0xDB   ,
0x45, 0x6B, 0xFB, 0x56, 0xF0, 0xAF, 0x9A, 0xBF, 0xAB,
0xD6, 0xCD, 2, 0xF2, 0x7C, 0xAA, 0xB2, 0x92, 0xFF   ,
0x57, 0x2F, 0x86, 0xA6, 0x7D, 0x35, 0x17, 0x34, 0xD5,
0xE, 0x65, 9, 5, 0x28, 0xCA, 0x48, 0x31, 0x8E, 0x2D ,
0xDF, 0x52, 0xF6, 0x1F, 0xA4, 0x50, 0x76, 0x40, 0x18,
4, 0x8A, 0x16, 0x2B, 0xAE, 0x43, 0x3F, 0xD0, 0xCB   ,
0x6C, 0x55, 0x54, 0x96, 0x99, 0x30, 0x67, 0x5E, 0x2C,
0xAC, 0xE0, 0x7A, 0xE8, 0x58, 0x90, 0xBE, 0xA5, 0x6F,
0xB0, 0x70, 0xEC, 0x61, 0x5C, 6, 0x3B, 0x77, 0xC1   ,
7, 0xEA, 0xA9, 0xF8, 0x11, 0xBD, 0xF3, 0, 0xED, 0x83,
0xEF, 0x3D, 0xA3, 0x51, 0x9E, 0x38, 0xF7, 0xB, 0xB9 ,
0xD2, 0xD1
};

uint8_t DecodeBitMasks[] = {

0x2A, 0xE7, 0x18, 0x6F, 0x63, 0x9D, 0x48, 0xEA, 0x39  ,
0xCD, 0x38, 0xB8, 0xA0, 0xAB, 0xE0, 0x10, 0x35, 0x99  ,
0x37, 9, 0xC0, 0x69, 0xB2, 0xA4, 0x67, 0x88, 0x50     ,
0x34, 0x7F, 0xFC, 0xB, 0xBE, 0xC, 0x44, 0x59, 0xB6    ,
0x5B, 0x9C, 0x65, 0xD6, 0x94, 0xEB, 0xC4, 0x3B, 3     ,
0x3C, 0xC9, 0x3E, 0x6B, 0x9A, 0xD4, 0xF6, 0xC3, 0x4D  ,
0x11, 0x24, 0xAA, 0xFF, 0x4A, 0xED, 0x95, 0x93, 0xD9  ,
0x46, 0x5F, 0x96, 0x87, 0x30, 0xBA, 0xCA, 0xCB, 0xFA  ,
0x8A, 0x1A, 0x68, 0x5C, 0xAC, 7, 0x40, 0x60, 0x29     ,
0x70, 0x57, 0x53, 0x41, 0x12, 0xDE, 0x1D, 0x64, 0x14  ,
0x97, 0x72, 0xFB, 0x8D, 0x2B, 8, 0xCF, 0xF4, 0x3A     ,
0, 0xC5, 0x91, 0x56, 0xA9, 0x9E, 0x71, 0xBC, 0xA3     ,
0xAF, 0xA6, 0x55, 0xDA, 0x79, 0xBB, 0x33, 0xA5, 0x25  ,
0x15, 0x7D, 0xEE, 0xC1, 0x2C, 0xC7, 0xD0, 0x19, 0xD8  ,
0x5A, 0xE8, 0x85, 0xFD, 0x2F, 0x6A, 0x78, 0x45, 0xDB  ,
0xB5, 0xF5, 0x1E, 4, 0x75, 0xB0, 0x7A, 0x20, 0xF2     ,
0xDF, 0xD3, 0x83, 0xF3, 0x54, 0x90, 0xA2, 0xC6, 0xF   ,
0x80, 0x36, 0x4E, 0xC8, 1, 0x82, 0x76, 0xA1, 0x2E     ,
0x84, 0x86, 0xE, 0x47, 0x8F, 0xE1, 0xF9, 0x7C, 0xC2   ,
0x74, 0xDC, 0x26, 0x22, 0xCE, 0x2D, 0x4F, 0xBF, 0xD   ,
0x73, 0x27, 0x21, 0xB3, 0x98, 0x1F, 0x89, 0xEC, 0xFE  ,
0x52, 0xA, 0x8C, 0x9F, 0xA8, 0xE5, 0xE6, 6, 0x8B, 0xCC,
0xF7, 0x5E, 0xE3, 0x7B, 0xD2, 5, 0x49, 0x13, 0xE9     ,
0x66, 0xB7, 0xAD, 0xB4, 0xF8, 0xA7, 0x1C, 0xF1, 2     ,
0x7E, 0x6E, 0x17, 0x62, 0x4C, 0x77, 0x8E, 0xDD, 0xF0  ,
0x43, 0x28, 0x6D, 0x61, 0xB9, 0xD7, 0xBD, 0x3D, 0x9B  ,
0x92, 0x16, 0xEF, 0x51, 0x23, 0xE2, 0xB1, 0x81, 0x31  ,
0x32, 0x58, 0xD1, 0x5D, 0xD5, 0x6C, 0x4B, 0xE4, 0xAE  ,
0x42, 0x1B, 0x3F
uint8_t Decode6BitMask[] = { 0xFC, 0xF8, 0xF0, 0xE0, 0xC0 };

std::vector<int> buffer = Decode6BitBuf(Code, Code.size(), &sRetsize);
std::vector<int> __fastcall Decode6BitBuf(std::vector<int> result, unsigned int a3, unsigned int* a4)
{
     int v4; // r12
     int v5; // r4
     int v6; // r10
     unsigned int v7; // lr
     int v8; // r6
     unsigned int v9; // r5
     unsigned __int8 v10; // r5
     std::vector<int> buffer;
     if (a3)
     {
         v4 = 0;
         v5 = 2;
         LOBYTE(v6) = 0;
         v7 = 0;
         v8 = 0;
         while (1)
         {
             v9 = result[v4];
             if (v9 < 0x3C)
                 goto LABEL_12;
             v10 = v9 - 0x3C;
             if (v8 >= 2)
             {
                 unsigned char code = DecodeBitMasks[(((unsigned __int8)(v10 & 0x3F) >> (6 - v5)) | (unsigned __int8)v6) ^ 0x9E] ^ 0x34;
                 buffer.push_back(code);
                 if (v5 > 5)
                 {
                     v5 = 2;
                     v8 = 0;
                     goto LABEL_9;
                 }
                 v5 += 2;
                 v8 = 0;
             }
             v6 = Decode6BitMask[v5 - 2] & (v10 << v5);
             v8 = v8 + 8 - v5;
         LABEL_9:
             if (++v4 >= a3)
                 goto LABEL_12;
         }
     }
     v7 = 0;
LABEL_12:
     *a4 = v7;
     return buffer;
}  

GetDlgItem(IDC_EDIT1)->GetWindowText(Code);
        std::string s(Code);
        Decrypt::DecryptCode(s.c_str());  

换成易语言。折腾2天了。谢谢大佬

结帖率:50% (12/24)

签到天数: 11 天

 楼主| 发表于 7 天前 | 显示全部楼层   陕西省延安市
zainex 发表于 2025-5-18 19:12
翻译的结果:

代码:

大佬牛逼,..谢谢
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 7 天前 | 显示全部楼层   浙江省温州市
翻译的结果:

代码:
https://bbs.125.la/thread-14856265-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

结帖率:50% (12/24)

签到天数: 11 天

 楼主| 发表于 7 天前 | 显示全部楼层   陕西省延安市
liwei321gogo 发表于 2025-5-18 15:14
[e=4].版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 EncodeBitMasks, 字节集, , , 初始值: {0x8C,0x87, ...

你这是 AI写的把,好多错误,更本编译不过去!
回复 支持 反对

使用道具 举报

结帖率:64% (9/14)

签到天数: 25 天

发表于 7 天前 | 显示全部楼层   山东省*
liwei321gogo 发表于 2025-5-18 15:14
[e=4].版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 EncodeBitMasks, 字节集, , , 初始值: {0x8C,0x87, ...

大佬啊!
回复 支持 反对

使用道具 举报

结帖率:50% (2/4)

签到天数: 25 天

发表于 7 天前 | 显示全部楼层   福建省厦门市
省事点, 直接编译成dll调用
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 22 天

发表于 7 天前 | 显示全部楼层   河南省郑州市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
EncodeBitMasks字节集初始值: {0x8C,0x87,0x0D,...}
DecodeBitMasks字节集初始值: {0x2A,0xE7,0x18,...}
Decode6BitMask字节集初始值: {0xFC,0xF8,0xF0,0xE0,0xC0}

子程序名返回值类型公开备 注
_按钮_解密_被单击  
变量名类 型静态数组备 注
Code文本型 
buffer字节集 
sRetsize整数型 
编辑框_输入.获取文本 (Code)
buffer = 解码6位缓冲 (到字节集 (Code), sRetsize)
' 这里添加后续处理代码...
子程序名返回值类型公开备 注
解码6位缓冲字节集 
参数名类 型参考可空数组备 注
result字节集
a3整数型
a4整数型
变量名类 型静态数组备 注
v4整数型 
v5整数型 
v6整数型 
v7整数型 
v8整数型 
v9字节型 
v10字节型 
buffer字节集 
code字节型 
a4 = 0
v4 = 0
v5 = 2
v6 = 0
v7 = 0
v8 = 0
判断循环首 (v4 < 取字节集长度 (result))
v9 = result [v4 + 1]  ' 易语言字节集索引从1开始
如果真 (v9 ≥ 0x3C)
v10 = v9 - 0x3C
如果真 (v8 ≥ 2)
code = 位异或 (DecodeBitMasks [位或 (位右移 (位与 (v10, 0x3F), (6 - v5)) + 位与 (v6, 0xFF) + 1] , 0x34)
buffer = buffer + code
如果真 (v5 > 5)
v5 = 2
v8 = 0
.到循环尾 ()
v5 = v5 + 2
v8 = 0
v6 = 位与 (Decode6BitMask [v5 - 1], 位左移 (v10, v5))
v8 = v8 + 8 - v5
v4 = v4 + 1
判断循环尾 ()
a4 = v7
返回 (buffer)

回复 支持 反对

使用道具 举报

结帖率:50% (12/24)

签到天数: 11 天

 楼主| 发表于 7 天前 | 显示全部楼层   陕西省延安市
LLXXLL 发表于 2025-5-18 13:48
怎么感觉像是从IDA里复制出来的

  有源码的
回复 支持 反对

使用道具 举报

结帖率:50% (12/24)

签到天数: 11 天

 楼主| 发表于 7 天前 | 显示全部楼层   陕西省延安市
有源码.,就是不会翻译成易语言!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 25 天

发表于 7 天前 | 显示全部楼层   广西壮族自治区崇左市
怎么感觉像是从IDA里复制出来的
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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