开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

楼主: LLJ
收起左侧

[易语言纯源码] 【汇编】QQTEA加密算法

[复制链接]
结帖率:88% (23/26)
发表于 2019-9-27 16:57:57 | 显示全部楼层   广东省中山市
LLJ 发表于 2019-9-27 16:33
TX什么东西用了TEA32轮?

QD  还有些协yi加密
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2019-9-27 16:33:06 | 显示全部楼层   广东省汕头市
707711094 发表于 2019-9-27 16:24
这才是标准的32轮吧
我看别人源码就是这样的  TX的TEA也是这样的

TX什么东西用了TEA32轮?
回复 支持 反对

使用道具 举报

结帖率:88% (23/26)

签到天数: 7 天

发表于 2019-9-27 16:24:01 | 显示全部楼层   广东省中山市
LLJ 发表于 2019-9-27 15:42
居然改了DELTA常量,这太不标准了吧!
什么东西用这样的算法的?

这才是标准的32轮吧
我看别人源码就是这样的  TX的TEA也是这样的
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2019-9-27 16:11:38 | 显示全部楼层   广东省汕头市
707711094 发表于 2019-9-27 14:15
加解密都错了  

这是我改的32加密  解密不知道怎么弄

这是解密


.版本 2

.子程序 TEA解密32轮, 字节集, 公开, 成功返回解密后的数据,失败返回空
.参数 密文, 字节集
.参数 密钥, 字节集, , 密钥为16字节,如果提供大于16字节将忽略后面的字节
.局部变量 outLen, 整数型, , , ebp-04h
.局部变量 outData, 字节集, , , ebp-08h

.如果真 (取字节集长度 (密钥) ≥ 16)
    置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 116, 6, 139, 64, 4, 137, 69, 252 })  ' outLen = 取字节集长度 (密文)
    .如果真 (outLen ≠ 0)
        outData = 取空白字节集 (outLen)
        ' lea eax, [ebp-04h]
        ' push eax
        ' mov eax, dword [ebp-08h]
        ' add eax, 8
        ' push eax
        ' mov eax, dword [ebp+0Ch]
        ' mov eax, dword [eax]
        ' add eax, 8
        ' push eax
        ' mov eax, dword [ebp+08h]
        ' mov eax, dword [eax]
        ' add eax, 8
        ' push dword [eax-4]
        ' push eax
        ' call oi_symmetry_decrypt2
        ' test eax, eax
        ' jne a
        ' mov dword [ebp-04h], 0
        ' jmp a

        ' oi_symmetry_decrypt2:
        ' push ebp
        ' mov ebp, esp
        ' sub esp, 0x24
        ' push ebx
        ' mov ebx, dword [ebp+0x0C]
        ' mov eax, ebx
        ' push esi
        ' push edi
        ' and eax, 0x80000007
        ' jns label1
        ' dec eax
        ' or eax, 0xFFFFFFF8
        ' add eax, 0x01
        ' label1:
        ' jne label15
        ' cmp ebx, 0x10
        ' jl label15
        ' mov edi, dword [ebp+0x08]
        ' lea eax, dword [ebp-0x1C]
        ' push eax
        ' push dword [ebp+0x10]
        ' push edi
        ' call TeaDecryptECB
        ' movzx ecx, byte [ebp-0x1C]
        ' mov eax, ebx
        ' mov edx, dword [ebp+0x18]
        ' and ecx, 0x07
        ' sub eax, ecx
        ' sub eax, 0x0A
        ' cmp dword [edx], eax
        ' jl label15
        ' test eax, eax
        ' js label15
        ' mov dword [edx], eax
        ' xorps xmm0, xmm0
        ' lea eax, dword [ebp-0x24]
        ' mov dword [ebp-0x04], edi
        ' add edi, 0x08
        ' mov dword [ebp-0x08], eax
        ' lea edx, dword [ebp-0x1C]
        ' mov dword [ebp+0x08], 0x00000008
        ' mov esi, edi
        ' movq qword [ebp-0x24], xmm0
        ' lea eax, dword [ecx+0x01]
        ' sub esi, edx
        ' mov edx, dword [ebp+0x08]
        ' mov ecx, 0x00000001
        ' mov dword [ebp-0x10], ecx
        ' mov dword [ebp-0x0C], esi
        ' label2:
        ' cmp eax, 0x08
        ' jnl label3
        ' inc eax
        ' inc ecx
        ' mov dword [ebp-0x10], ecx
        ' jmp label5
        ' label3:
        ' jne label5
        ' mov eax, dword [ebp-0x04]
        ' xor ecx, ecx
        ' mov dword [ebp-0x08], eax
        ' mov eax, edx
        ' sub eax, edi
        ' mov dword [ebp-0x04], edi
        ' mov dword [ebp-0x14], eax
        ' label4:
        ' lea edx, dword [ebp-0x1C]
        ' add edx, ecx
        ' add esi, edx
        ' add eax, esi
        ' cmp eax, ebx
        ' jnl label15
        ' mov al, byte [esi]
        ' inc ecx
        ' xor byte [edx], al
        ' mov eax, dword [ebp-0x14]
        ' mov esi, dword [ebp-0x0C]
        ' cmp ecx, 0x08
        ' jl label4
        ' lea eax, dword [ebp-0x1C]
        ' push eax
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaDecryptECB
        ' mov edx, dword [ebp+0x08]
        ' add esi, 0x08
        ' mov ecx, dword [ebp-0x10]
        ' add edx, 0x08
        ' add edi, 0x08
        ' mov dword [ebp-0x0C], esi
        ' mov dword [ebp+0x08], edx
        ' xor eax, eax
        ' label5:
        ' cmp ecx, 0x02
        ' jle label2
        ' mov ecx, dword [ebp+0x18]
        ' mov ecx, dword [ecx]
        ' mov dword [ebp-0x0C], ecx
        ' test ecx, ecx
        ' je label10
        ' lea edx, dword [ebp-0x1C]
        ' mov esi, edi
        ' sub esi, edx
        ' mov edx, dword [ebp+0x08]
        ' mov dword [ebp+0x18], esi
        ' label6:
        ' cmp eax, 0x08
        ' jnl label7
        ' mov ecx, dword [ebp-0x08]
        ' mov edx, dword [ebp+0x14]
        ' inc dword [ebp+0x14]
        ' mov cl, byte [eax+ecx]
        ' xor cl, byte [ebp+eax-0x1C]
        ' inc eax
        ' mov byte [edx], cl
        ' mov ecx, dword [ebp-0x0C]
        ' mov edx, dword [ebp+0x08]
        ' dec ecx
        ' mov dword [ebp-0x0C], ecx
        ' jmp label9
        ' label7:
        ' jne label9
        ' mov eax, dword [ebp-0x04]
        ' xor ecx, ecx
        ' mov dword [ebp-0x08], eax
        ' mov eax, edx
        ' sub eax, edi
        ' mov dword [ebp-0x04], edi
        ' mov dword [ebp-0x14], eax
        ' label8:
        ' lea edx, dword [ebp-0x1C]
        ' add edx, ecx
        ' add esi, edx
        ' add eax, esi
        ' cmp eax, ebx
        ' jnl label15
        ' mov al, byte [esi]
        ' inc ecx
        ' xor byte [edx], al
        ' mov eax, dword [ebp-0x14]
        ' mov esi, dword [ebp+0x18]
        ' cmp ecx, 0x08
        ' jl label8
        ' lea eax, dword [ebp-0x1C]
        ' push eax
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaDecryptECB
        ' mov edx, dword [ebp+0x08]
        ' add esi, 0x08
        ' mov ecx, dword [ebp-0x0C]
        ' add edx, 0x08
        ' add edi, 0x08
        ' mov dword [ebp+0x18], esi
        ' mov dword [ebp+0x08], edx
        ' xor eax, eax
        ' label9:
        ' test ecx, ecx
        ' jne label6
        ' label10:
        ' mov esi, edi
        ' lea ecx, dword [ebp-0x1C]
        ' mov ebx, 0x00000001
        ' sub esi, ecx
        ' mov dword [ebp+0x18], ebx
        ' mov dword [ebp+0x14], esi
        ' nop
        ' label11:
        ' cmp eax, 0x08
        ' jnl label12
        ' mov ecx, dword [ebp-0x08]
        ' mov cl, byte [eax+ecx]
        ' cmp cl, byte [ebp+eax-0x1C]
        ' jne label15
        ' inc eax
        ' inc ebx
        ' mov dword [ebp+0x18], ebx
        ' jmp label14
        ' label12:
        ' jne label14
        ' mov eax, dword [ebp-0x04]
        ' mov ebx, edx
        ' xor ecx, ecx
        ' mov dword [ebp-0x08], eax
        ' mov dword [ebp-0x04], edi
        ' sub ebx, edi
        ' nop dword [eax+0x00000000]
        ' label13:
        ' lea edx, dword [ebp-0x1C]
        ' add edx, ecx
        ' add esi, edx
        ' lea eax, dword [esi+ebx]
        ' cmp eax, dword [ebp+0x0C]
        ' jnl label15
        ' mov al, byte [esi]
        ' inc ecx
        ' xor byte [edx], al
        ' mov esi, dword [ebp+0x14]
        ' cmp ecx, 0x08
        ' jl label13
        ' lea eax, dword [ebp-0x1C]
        ' push eax
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaDecryptECB
        ' mov edx, dword [ebp+0x08]
        ' add esi, 0x08
        ' mov ebx, dword [ebp+0x18]
        ' add edx, 0x08
        ' add edi, 0x08
        ' mov dword [ebp+0x14], esi
        ' mov dword [ebp+0x08], edx
        ' xor eax, eax
        ' label14:
        ' cmp ebx, 0x07
        ' jle label11
        ' pop edi
        ' pop esi
        ' mov eax, 0x00000001
        ' pop ebx
        ' mov esp, ebp
        ' pop ebp
        ' retn 0x0014
        ' label15:
        ' pop edi
        ' pop esi
        ' xor eax, eax
        ' pop ebx
        ' mov esp, ebp
        ' pop ebp
        ' retn 0x0014


        ' TeaDecryptECB:
        ' push ebp
        ' mov ebp, esp
        ' sub esp, 0x10
        ' push ebx
        ' push esi
        ' mov esi, dword [ebp+0x08]
        ' push edi
        ' mov eax, dword [esi]
        ' bswap eax
        ' mov edi, eax
        ' mov eax, dword [esi+0x04]
        ' bswap eax
        ' mov ebx, dword [ebp+0x0C]
        ' xor esi, esi
        ' mov dword [ebp+0x08], eax
        ' label16:
        ' mov eax, dword [ebx+esi*4]
        ' bswap eax
        ' mov dword [ebp+esi*4-0x10], eax
        ' inc esi
        ' cmp esi, 0x04
        ' jl label16
        ' mov ebx, dword [ebp+0x08]
        ' mov edx, 0xFD1228E0 ; 左移 (十六进制 (“57E89147”), 5);
        ' mov esi, 32 ;ROUNDS

        ' label17:
        ' mov ecx, edi
        ' mov eax, edi
        ' shr ecx, 0x05
        ' add ecx, dword [ebp-0x04]
        ' shl eax, 0x04
        ' add eax, dword [ebp-0x08]
        ' xor ecx, eax
        ' lea eax, dword [edx+edi]
        ' xor ecx, eax
        ' sub ebx, ecx
        ' mov ecx, ebx
        ' mov eax, ebx
        ' shr ecx, 0x05
        ' add ecx, dword [ebp-0x0C]
        ' shl eax, 0x04
        ' add eax, dword [ebp-0x10]
        ' xor ecx, eax
        ' lea eax, dword [edx+ebx]
        ' xor ecx, eax
        ' lea edx, dword [edx-0x57E89147]
        ' sub edi, ecx
        ' sub esi, 0x01
        ' jne label17
        ' bswap edi
        ' mov esi, dword [ebp+0x10]
        ' mov dword [esi], edi
        ' bswap ebx
        ' pop edi
        ' mov dword [esi+0x04], ebx
        ' pop esi
        ' pop ebx
        ' mov esp, ebp
        ' pop ebp
        ' retn 0x000C
        ' a:

        置入代码 ({ 141, 69, 252, 80, 139, 69, 248, 131, 192, 8, 80, 139, 69, 12, 139, 0, 131, 192, 8, 80, 139, 69, 8, 139, 0, 131, 192, 8, 255, 112, 252, 80, 232, 20, 0, 0, 0, 133, 192, 15, 133, 211, 2, 0, 0, 199, 69, 252, 0, 0, 0, 0, 233, 199, 2, 0, 0, 85, 137, 229, 131, 236, 36, 83, 139, 93, 12, 137, 216, 86, 87, 37, 7, 0, 0, 128, 121, 7, 72, 131, 200, 248, 131, 192, 1, 15, 133, 13, 2, 0, 0, 131, 251, 16, 15, 140, 4, 2, 0, 0, 139, 125, 8, 141, 69, 228, 80, 255, 117, 16, 87, 232, 255, 1, 0, 0, 15, 182, 77, 228, 137, 216, 139, 85, 24, 131, 225, 7, 41, 200, 131, 232, 10, 57, 2, 15, 140, 219, 1, 0, 0, 133, 192, 15, 136, 211, 1, 0, 0, 137, 2, 15, 87, 192, 141, 69, 220, 137, 125, 252, 131, 199, 8, 137, 69, 248, 141, 85, 228, 199, 69, 8, 8, 0, 0, 0, 137, 254, 102, 15, 214, 69, 220, 141, 65, 1, 41, 214, 139, 85, 8, 185, 1, 0, 0, 0, 137, 77, 240, 137, 117, 244, 131, 248, 8, 125, 7, 64, 65, 137, 77, 240, 235, 89, 117, 87, 139, 69, 252, 49, 201, 137, 69, 248, 137, 208, 41, 248, 137, 125, 252, 137, 69, 236, 141, 85, 228, 1, 202, 1, 214, 1, 240, 57, 216, 15, 141, 109, 1, 0, 0, 138, 6, 65, 48, 2, 139, 69, 236, 139, 117, 244, 131, 249, 8, 124, 223, 141, 69, 228, 80, 255, 117, 16, 80, 232, 91, 1, 0, 0, 139, 85, 8, 131, 198, 8, 139, 77, 240, 131, 194, 8, 131, 199, 8, 137, 117, 244, 137, 85, 8, 49, 192, 131, 249, 2, 126, 150, 139, 77, 24, 139, 9, 137, 77, 244, 133, 201, 15, 132, 146, 0, 0, 0, 141, 85, 228, 137, 254, 41, 214, 139, 85, 8, 137, 117, 24, 131, 248, 8, 125, 31, 139, 77, 248, 139, 85, 20, 255, 69, 20, 138, 12, 8, 50, 76, 5, 228, 64, 136, 10, 139, 77, 244, 139, 85, 8, 73, 137, 77, 244, 235, 89, 117, 87, 139, 69, 252, 49, 201, 137, 69, 248, 137, 208, 41, 248, 137, 125, 252, 137, 69, 236, 141, 85, 228, 1, 202, 1, 214, 1, 240, 57, 216, 15, 141, 206, 0, 0, 0, 138, 6, 65, 48, 2, 139, 69, 236, 139, 117, 24, 131, 249, 8, 124, 223, 141, 69, 228, 80, 255, 117, 16, 80, 232, 188, 0, 0, 0, 139, 85, 8, 131, 198, 8, 139, 77, 244, 131, 194, 8, 131, 199, 8, 137, 117, 24, 137, 85, 8, 49, 192, 133, 201, 15, 133, 123, 255, 255, 255, 137, 254, 141, 77, 228, 187, 1, 0, 0, 0, 41, 206, 137, 93, 24, 137, 117, 20, 144, 131, 248, 8, 125, 19, 139, 77, 248, 138, 12, 8, 58, 76, 5, 228, 117, 110, 64, 67, 137, 93, 24, 235, 84, 117, 82, 139, 69, 252, 137, 211, 49, 201, 137, 69, 248, 137, 125, 252, 41, 251, 15, 31, 0, 141, 85, 228, 1, 202, 1, 214, 141, 4, 30, 59, 69, 12, 125, 68, 138, 6, 65, 48, 2, 139, 117, 20, 131, 249, 8, 124, 228, 141, 69, 228, 80, 255, 117, 16, 80, 232, 53, 0, 0, 0, 139, 85, 8, 131, 198, 8, 139, 93, 24, 131, 194, 8, 131, 199, 8, 137, 117, 20, 137, 85, 8, 49, 192, 131, 251, 7, 126, 143, 95, 94, 184, 1, 0, 0, 0, 91, 137, 236, 93, 194, 20, 0, 95, 94, 49, 192, 91, 137, 236, 93, 194, 20, 0, 85, 137, 229, 131, 236, 16, 83, 86, 139, 117, 8, 87, 139, 6, 15, 200, 137, 199, 139, 70, 4, 15, 200, 139, 93, 12, 49, 246, 137, 69, 8, 139, 4, 179, 15, 200, 137, 68, 181, 240, 70, 131, 254, 4, 124, 241, 139, 93, 8, 186, 224, 40, 18, 253, 190, 32, 0, 0, 0, 137, 249, 137, 248, 193, 233, 5, 3, 77, 252, 193, 224, 4, 3, 69, 248, 49, 193, 141, 4, 58, 49, 193, 41, 203, 137, 217, 137, 216, 193, 233, 5, 3, 77, 244, 193, 224, 4, 3, 69, 240, 49, 193, 141, 4, 26, 49, 193, 141, 146, 185, 110, 23, 168, 41, 207, 131, 238, 1, 117, 195, 15, 207, 139, 117, 16, 137, 62, 15, 203, 95, 137, 94, 4, 94, 91, 137, 236, 93, 194, 12, 0 })


        置入代码 ({ 139, 69, 248, 139, 77, 252, 137, 72, 4 })  ' outData = 取字节集左边 (outData, outLen)
    .如果真结束

.如果真结束
返回 (outData)
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
发表于 2019-9-27 15:59:58 | 显示全部楼层   广东省湛江市
谢谢楼主分享
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2019-9-27 15:42:19 | 显示全部楼层   广东省汕头市
707711094 发表于 2019-9-27 14:58
你的是没改常量
16轮常量 0x9E3779B9
32轮常量 0x57E89147

居然改了DELTA常量,这太不标准了吧!
什么东西用这样的算法的?
回复 支持 反对

使用道具 举报

结帖率:88% (23/26)

签到天数: 7 天

发表于 2019-9-27 14:58:23 | 显示全部楼层   广东省中山市
LLJ 发表于 2019-9-27 05:32
修改成32轮,请测试一下结果是否正确,修改的地方加了书签,按ctrl+f7查看
@瑾年c @707711094

你的是没改常量
16轮常量 0x9E3779B9
32轮常量 0x57E89147
解密的不会弄
回复 支持 反对

使用道具 举报

结帖率:88% (23/26)

签到天数: 7 天

发表于 2019-9-27 14:15:44 | 显示全部楼层   广东省中山市
LLJ 发表于 2019-9-27 05:32
修改成32轮,请测试一下结果是否正确,修改的地方加了书签,按ctrl+f7查看
@瑾年c @707711094

加解密都错了  

这是我改的32加密  解密不知道怎么弄

.版本 2

.子程序 TEA加密, 字节集, 公开
.参数 明文, 字节集
.参数 密钥, 字节集, , 密钥为16字节,如果提供大于16字节将忽略后面的字节
.局部变量 outLen, 整数型, , , ebp-04h
.局部变量 outData, 字节集, , , ebp-08h

.如果真 (取字节集长度 (密钥) ≥ 16)
    ' oi_symmetry_encrypt2_len:
    ' mov eax, dword [ebp+0x08]
    ' mov eax, dword [eax]
    ' test eax, eax
    ' je e
    ' add eax, 8
    ' mov edx, [eax-4]
    ' add edx, 0x0A
    ' mov ecx, edx
    ' and ecx, 0x80000007
    ' jns label1
    ' dec ecx
    ' or ecx, 0xFFFFFFF8
    ' inc ecx
    ' label1:
    ' mov eax, 0x00000008
    ' sub eax, ecx
    ' test ecx, ecx
    ' cmove eax, ecx
    ' add eax, edx
    ' mov [ebp-4], eax
    ' e:
    置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 116, 41, 131, 192, 8, 139, 80, 252, 131, 194, 10, 137, 209, 129, 225, 7, 0, 0, 128, 121, 5, 73, 131, 201, 248, 65, 184, 8, 0, 0, 0, 41, 200, 133, 201, 15, 68, 193, 1, 208, 137, 69, 252 })
    .如果真 (outLen ≠ 0)
        outData = 取空白字节集 (outLen)
        ' *** 缩略程序块 ***
        ' mov edx, dword [ebp-08h]
        ' add edx, 8
        ' push edx
        ' lea eax, [ebp-04h]
        ' push eax
        ' push edx
        ' mov eax, dword [ebp+0Ch]
        ' mov eax, dword [eax]
        ' add eax, 8
        ' push eax
        ' mov eax, dword [ebp+0x08]
        ' mov eax, dword [eax]
        ' add eax, 8
        ' push dword [eax-4]
        ' push eax
        ' call oi_symmetry_encrypt2
        ' pop eax
        ' mov ecx, [ebp-04h]
        ' mov [eax-4], ecx
        ' jmp e

        ' oi_symmetry_encrypt2:
        ' push ebp
        ' mov ebp, esp
        ' mov eax, dword [ebp+0x0C]
        ' sub esp, 0x14
        ' add eax, 0x0A
        ' push ebx
        ' push esi
        ' push edi
        ' and eax, 0x80000007
        ' jns label1
        ' dec eax
        ' or eax, 0xFFFFFFF8
        ' inc eax
        ' label1:
        ' mov ebx, 0x00000008
        ' sub ebx, eax
        ' test eax, eax
        ' cmove ebx, eax
        ' rdtsc
        ' and al, 0xF8
        ' mov esi, 0x00000001
        ' or al, bl
        ' mov byte [ebp-0x0C], al
        ' test ebx, ebx
        ' je label3
        ' nop
        ' label2:
        ' rdtsc
        ' mov byte [ebp+esi-0x0C], al
        ' inc esi
        ' sub ebx, 0x01
        ' jne label2
        ' label3:
        ' mov eax, dword [ebp+0x18]
        ' lea ebx, dword [ebp-0x14]
        ' mov edi, dword [ebp+0x14]
        ' xorps xmm0, xmm0
        ' movq qword [ebp-0x14], xmm0
        ' mov dword [eax], 0x00000000
        ' mov eax, 0x00000001
        ' mov dword [ebp-0x04], eax
        ' nop dword [eax+eax+0x00]
        ' label4:
        ' cmp esi, 0x08
        ' jnl label5
        ' rdtsc
        ' mov byte [ebp+esi-0x0C], al
        ' inc esi
        ' mov eax, dword [ebp-0x04]
        ' inc eax
        ' cmp esi, 0x08
        ' mov dword [ebp-0x04], eax
        ' label5:
        ' jne label6
        ' movzx eax, byte [ebx]
        ' xor byte [ebp-0x0C], al
        ' movzx eax, byte [ebx+0x01]
        ' xor byte [ebp-0x0B], al
        ' movzx eax, byte [ebx+0x02]
        ' xor byte [ebp-0x0A], al
        ' movzx eax, byte [ebx+0x03]
        ' xor byte [ebp-0x09], al
        ' movzx eax, byte [ebx+0x04]
        ' xor byte [ebp-0x08], al
        ' movzx eax, byte [ebx+0x05]
        ' xor byte [ebp-0x07], al
        ' movzx eax, byte [ebx+0x06]
        ' xor byte [ebp-0x06], al
        ' movzx eax, byte [ebx+0x07]
        ' xor byte [ebp-0x05], al
        ' lea eax, dword [ebp-0x0C]
        ' push edi
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaEncryptECB
        ' mov eax, dword [ebp-0x14]
        ' xor esi, esi
        ' xor byte [edi], al
        ' mov ebx, edi
        ' xor byte [edi+0x01], ah
        ' movzx eax, byte [ebp-0x12]
        ' xor byte [edi+0x02], al
        ' movzx eax, byte [ebp-0x11]
        ' xor byte [edi+0x03], al
        ' mov eax, dword [ebp-0x10]
        ' xor byte [edi+0x04], al
        ' xor byte [edi+0x05], ah
        ' movzx eax, byte [ebp-0x0E]
        ' xor byte [edi+0x06], al
        ' movzx eax, byte [ebp-0x0D]
        ' mov edx, dword [ebp-0x08]
        ' xor byte [edi+0x07], al
        ' mov eax, dword [ebp-0x0C]
        ' mov dword [ebp-0x10], edx
        ' mov edx, dword [ebp+0x18]
        ' mov dword [ebp-0x14], eax
        ' mov eax, dword [ebp-0x04]
        ' add dword [edx], 0x08
        ' add edi, 0x08
        ' label6:
        ' cmp eax, 0x02
        ' jng label4
        ' mov ecx, dword [ebp+0x0C]
        ' test ecx, ecx
        ' je label10
        ' label7:
        ' cmp esi, 0x08
        ' jnl label8
        ' mov edx, dword [ebp+0x08]
        ' dec ecx
        ' mov dword [ebp+0x0C], ecx
        ' mov al, byte [edx]
        ' inc edx
        ' mov byte [ebp+esi-0x0C], al
        ' inc esi
        ' mov dword [ebp+0x08], edx
        ' cmp esi, 0x08
        ' label8:
        ' jne label9
        ' movzx eax, byte [ebx]
        ' xor byte [ebp-0x0C], al
        ' movzx eax, byte [ebx+0x01]
        ' xor byte [ebp-0x0B], al
        ' movzx eax, byte [ebx+0x02]
        ' xor byte [ebp-0x0A], al
        ' movzx eax, byte [ebx+0x03]
        ' xor byte [ebp-0x09], al
        ' movzx eax, byte [ebx+0x04]
        ' xor byte [ebp-0x08], al
        ' movzx eax, byte [ebx+0x05]
        ' xor byte [ebp-0x07], al
        ' movzx eax, byte [ebx+0x06]
        ' xor byte [ebp-0x06], al
        ' movzx eax, byte [ebx+0x07]
        ' xor byte [ebp-0x05], al
        ' lea eax, dword [ebp-0x0C]
        ' push edi
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaEncryptECB
        ' mov eax, dword [ebp-0x14]
        ' xor esi, esi
        ' xor byte [edi], al
        ' mov ebx, edi
        ' xor byte [edi+0x01], ah
        ' movzx eax, byte [ebp-0x12]
        ' xor byte [edi+0x02], al
        ' movzx eax, byte [ebp-0x11]
        ' xor byte [edi+0x03], al
        ' mov eax, dword [ebp-0x10]
        ' xor byte [edi+0x04], al
        ' xor byte [edi+0x05], ah
        ' movzx eax, byte [ebp-0x0E]
        ' xor byte [edi+0x06], al
        ' movzx eax, byte [ebp-0x0D]
        ' xor byte [edi+0x07], al
        ' mov eax, dword [ebp-0x0C]
        ' mov ecx, dword [ebp+0x0C]
        ' mov dword [ebp-0x14], eax
        ' mov eax, dword [ebp-0x08]
        ' mov dword [ebp-0x10], eax
        ' mov eax, dword [ebp+0x18]
        ' add dword [eax], 0x08
        ' add edi, 0x08
        ' label9:
        ' test ecx, ecx
        ' jne label7
        ' label10:
        ' mov eax, 0x00000001
        ' add edi, 0x02
        ' mov dword [ebp+0x0C], eax
        ' label11:
        ' cmp esi, 0x08
        ' jnl label12
        ' mov byte [ebp+esi-0x0C], 0x00
        ' inc eax
        ' inc esi
        ' mov dword [ebp+0x0C], eax
        ' cmp esi, 0x08
        ' label12:
        ' jne label13
        ' movzx eax, byte [ebx]
        ' xor byte [ebp-0x0C], al
        ' movzx eax, byte [ebx+0x01]
        ' xor byte [ebp-0x0B], al
        ' movzx eax, byte [ebx+0x02]
        ' xor byte [ebp-0x0A], al
        ' movzx eax, byte [ebx+0x03]
        ' xor byte [ebp-0x09], al
        ' movzx eax, byte [ebx+0x04]
        ' xor byte [ebp-0x08], al
        ' movzx eax, byte [ebx+0x05]
        ' xor byte [ebp-0x07], al
        ' movzx eax, byte [ebx+0x06]
        ' xor byte [ebp-0x06], al
        ' movzx eax, byte [ebx+0x07]
        ' lea ebx, dword [edi-0x02]
        ' xor byte [ebp-0x05], al
        ' lea eax, dword [ebp-0x0C]
        ' push ebx
        ' push dword [ebp+0x10]
        ' push eax
        ' call TeaEncryptECB
        ' mov eax, dword [ebp-0x14]
        ' xor esi, esi
        ' xor byte [ebx], al
        ' xor byte [edi-0x01], ah
        ' movzx eax, byte [ebp-0x12]
        ' xor byte [edi], al
        ' movzx eax, byte [ebp-0x11]
        ' xor byte [edi+0x01], al
        ' mov eax, dword [ebp-0x10]
        ' xor byte [edi+0x02], al
        ' xor byte [edi+0x03], ah
        ' movzx eax, byte [ebp-0x0E]
        ' xor byte [edi+0x04], al
        ' movzx eax, byte [ebp-0x0D]
        ' xor byte [edi+0x05], al
        ' mov eax, dword [ebp-0x0C]
        ' mov dword [ebp-0x14], eax
        ' mov eax, dword [ebp-0x08]
        ' mov dword [ebp-0x10], eax
        ' mov eax, dword [ebp+0x18]
        ' add dword [eax], 0x08
        ' add edi, 0x08
        ' mov eax, dword [ebp+0x0C]
        ' label13:
        ' cmp eax, 0x07
        ' jng label11
        ' pop edi
        ' pop esi
        ' pop ebx
        ' mov esp, ebp
        ' pop ebp
        ' retn 0x0014

        ' TeaEncryptECB:
        ' push ebp
        ' mov ebp, esp
        ' sub esp, 0x10
        ' push ebx
        ' push esi
        ' mov esi, dword [ebp+0x08]
        ' push edi
        ' mov eax, dword [esi]
        ' bswap eax
        ' mov dword [ebp+0x08], eax
        ' mov ebx, dword [esi+0x04]
        ' bswap ebx
        ' mov edi, dword [ebp+0x0C]
        ' xor esi, esi
        ' a:
        ' mov eax, dword [edi+esi*4]
        ' bswap eax
        ' mov dword [ebp+esi*4-0x10], eax
        ' inc esi
        ' cmp esi, 0x04
        ' jl a
        ' mov edi, dword [ebp+0x08]
        ' xor edx, edx
        ' lea esi, dword [edx+0x10]
        ' b:
        ' mov ecx, ebx
        ' lea edx, dword [edx-0x61C88647]
        ' shr ecx, 0x05
        ' mov eax, ebx
        ' add ecx, dword [ebp-0x0C]
        ' shl eax, 0x04
        ' add eax, dword [ebp-0x10]
        ' xor ecx, eax
        ' lea eax, dword [edx+ebx]
        ' xor ecx, eax
        ' add edi, ecx
        ' mov ecx, edi
        ' mov eax, edi
        ' shr ecx, 0x05
        ' add ecx, dword [ebp-0x04]
        ' shl eax, 0x04
        ' add eax, dword [ebp-0x08]
        ' xor ecx, eax
        ' lea eax, dword [edx+edi]
        ' xor ecx, eax
        ' add ebx, ecx
        ' sub esi, 0x01
        ' jne b
        ' bswap edi
        ' mov esi, dword [ebp+0x10]
        ' mov dword [esi], edi
        ' bswap ebx
        ' pop edi
        ' mov dword [esi+0x04], ebx
        ' pop esi
        ' pop ebx
        ' mov esp, ebp
        ' pop ebp
        ' retn 0x000C
        ' e:

        ' 置入代码 ({ 139, 85, 248, 131, 194, 8, 82, 141, 69, 252, 80, 82, 139, 69, 12, 139, 0, 131, 192, 8, 80, 139, 69, 8, 139, 0, 131, 192, 8, 255, 112, 252, 80, 232, 12, 0, 0, 0, 88, 139, 77, 252, 137, 72, 252, 233, 35, 3, 0, 0, 85, 137, 229, 139, 69, 12, 131, 236, 20, 131, 192, 10, 83, 86, 87, 37, 7, 0, 0, 128, 121, 5, 72, 131, 200, 248, 64, 187, 8, 0, 0, 0, 41, 195, 133, 192, 15, 68, 216, 15, 49, 36, 248, 190, 1, 0, 0, 0, 8, 216, 136, 69, 244, 133, 219, 116, 13, 144, 15, 49, 136, 68, 53, 244, 70, 131, 235, 1, 117, 244, 139, 69, 24, 141, 93, 236, 139, 125, 20, 15, 87, 192, 102, 15, 214, 69, 236, 199, 0, 0, 0, 0, 0, 184, 1, 0, 0, 0, 137, 69, 252, 15, 31, 4, 0, 131, 254, 8, 125, 17, 15, 49, 136, 68, 53, 244, 70, 139, 69, 252, 64, 131, 254, 8, 137, 69, 252, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 48, 69, 251, 141, 69, 244, 87, 255, 117, 16, 80, 232, 212, 1, 0, 0, 139, 69, 236, 49, 246, 48, 7, 137, 251, 48, 103, 1, 15, 182, 69, 238, 48, 71, 2, 15, 182, 69, 239, 48, 71, 3, 139, 69, 240, 48, 71, 4, 48, 103, 5, 15, 182, 69, 242, 48, 71, 6, 15, 182, 69, 243, 139, 85, 248, 48, 71, 7, 139, 69, 244, 137, 85, 240, 139, 85, 24, 137, 69, 236, 139, 69, 252, 131, 2, 8, 131, 199, 8, 131, 248, 2, 15, 142, 78, 255, 255, 255, 139, 77, 12, 133, 201, 15, 132, 181, 0, 0, 0, 131, 254, 8, 125, 21, 139, 85, 8, 73, 137, 77, 12, 138, 2, 66, 136, 68, 53, 244, 70, 137, 85, 8, 131, 254, 8, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 48, 69, 251, 141, 69, 244, 87, 255, 117, 16, 80, 232, 19, 1, 0, 0, 139, 69, 236, 49, 246, 48, 7, 137, 251, 48, 103, 1, 15, 182, 69, 238, 48, 71, 2, 15, 182, 69, 239, 48, 71, 3, 139, 69, 240, 48, 71, 4, 48, 103, 5, 15, 182, 69, 242, 48, 71, 6, 15, 182, 69, 243, 48, 71, 7, 139, 69, 244, 139, 77, 12, 137, 69, 236, 139, 69, 248, 137, 69, 240, 139, 69, 24, 131, 0, 8, 131, 199, 8, 133, 201, 15, 133, 75, 255, 255, 255, 184, 1, 0, 0, 0, 131, 199, 2, 137, 69, 12, 131, 254, 8, 125, 13, 198, 68, 53, 244, 0, 64, 70, 137, 69, 12, 131, 254, 8, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 141, 95, 254, 48, 69, 251, 141, 69, 244, 83, 255, 117, 16, 80, 232, 88, 0, 0, 0, 139, 69, 236, 49, 246, 48, 3, 48, 103, 255, 15, 182, 69, 238, 48, 7, 15, 182, 69, 239, 48, 71, 1, 139, 69, 240, 48, 71, 2, 48, 103, 3, 15, 182, 69, 242, 48, 71, 4, 15, 182, 69, 243, 48, 71, 5, 139, 69, 244, 137, 69, 236, 139, 69, 248, 137, 69, 240, 139, 69, 24, 131, 0, 8, 131, 199, 8, 139, 69, 12, 131, 248, 7, 15, 142, 82, 255, 255, 255, 95, 94, 91, 137, 236, 93, 194, 20, 0, 85, 137, 229, 131, 236, 16, 83, 86, 139, 117, 8, 87, 139, 6, 15, 200, 137, 69, 8, 139, 94, 4, 15, 203, 139, 125, 12, 49, 246, 139, 4, 183, 15, 200, 137, 68, 181, 240, 70, 131, 254, 4, 124, 241, 139, 125, 8, 49, 210, 141, 114, 16, 137, 217, 141, 146, 185, 121, 55, 158, 193, 233, 5, 137, 216, 3, 77, 244, 193, 224, 4, 3, 69, 240, 49, 193, 141, 4, 26, 49, 193, 1, 207, 137, 249, 137, 248, 193, 233, 5, 3, 77, 252, 193, 224, 4, 3, 69, 248, 49, 193, 141, 4, 58, 49, 193, 1, 203, 131, 238, 1, 117, 195, 15, 207, 139, 117, 16, 137, 62, 15, 203, 95, 137, 94, 4, 94, 91, 137, 236, 93, 194, 12, 0 })  ' 16轮

        置入代码 ({ 139, 85, 248, 131, 194, 8, 82, 141, 69, 252, 80, 82, 139, 69, 12, 139, 0, 131, 192, 8, 80, 139, 69, 8, 139, 0, 131, 192, 8, 255, 112, 252, 80, 232, 12, 0, 0, 0, 88, 139, 77, 252, 137, 72, 252, 233, 35, 3, 0, 0, 85, 137, 229, 139, 69, 12, 131, 236, 20, 131, 192, 10, 83, 86, 87, 37, 7, 0, 0, 128, 121, 5, 72, 131, 200, 248, 64, 187, 8, 0, 0, 0, 41, 195, 133, 192, 15, 68, 216, 15, 49, 36, 248, 190, 1, 0, 0, 0, 8, 216, 136, 69, 244, 133, 219, 116, 13, 144, 15, 49, 136, 68, 53, 244, 70, 131, 235, 1, 117, 244, 139, 69, 24, 141, 93, 236, 139, 125, 20, 15, 87, 192, 102, 15, 214, 69, 236, 199, 0, 0, 0, 0, 0, 184, 1, 0, 0, 0, 137, 69, 252, 15, 31, 4, 0, 131, 254, 8, 125, 17, 15, 49, 136, 68, 53, 244, 70, 139, 69, 252, 64, 131, 254, 8, 137, 69, 252, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 48, 69, 251, 141, 69, 244, 87, 255, 117, 16, 80, 232, 212, 1, 0, 0, 139, 69, 236, 49, 246, 48, 7, 137, 251, 48, 103, 1, 15, 182, 69, 238, 48, 71, 2, 15, 182, 69, 239, 48, 71, 3, 139, 69, 240, 48, 71, 4, 48, 103, 5, 15, 182, 69, 242, 48, 71, 6, 15, 182, 69, 243, 139, 85, 248, 48, 71, 7, 139, 69, 244, 137, 85, 240, 139, 85, 24, 137, 69, 236, 139, 69, 252, 131, 2, 8, 131, 199, 8, 131, 248, 2, 15, 142, 78, 255, 255, 255, 139, 77, 12, 133, 201, 15, 132, 181, 0, 0, 0, 131, 254, 8, 125, 21, 139, 85, 8, 73, 137, 77, 12, 138, 2, 66, 136, 68, 53, 244, 70, 137, 85, 8, 131, 254, 8, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 48, 69, 251, 141, 69, 244, 87, 255, 117, 16, 80, 232, 19, 1, 0, 0, 139, 69, 236, 49, 246, 48, 7, 137, 251, 48, 103, 1, 15, 182, 69, 238, 48, 71, 2, 15, 182, 69, 239, 48, 71, 3, 139, 69, 240, 48, 71, 4, 48, 103, 5, 15, 182, 69, 242, 48, 71, 6, 15, 182, 69, 243, 48, 71, 7, 139, 69, 244, 139, 77, 12, 137, 69, 236, 139, 69, 248, 137, 69, 240, 139, 69, 24, 131, 0, 8, 131, 199, 8, 133, 201, 15, 133, 75, 255, 255, 255, 184, 1, 0, 0, 0, 131, 199, 2, 137, 69, 12, 131, 254, 8, 125, 13, 198, 68, 53, 244, 0, 64, 70, 137, 69, 12, 131, 254, 8, 15, 133, 141, 0, 0, 0, 15, 182, 3, 48, 69, 244, 15, 182, 67, 1, 48, 69, 245, 15, 182, 67, 2, 48, 69, 246, 15, 182, 67, 3, 48, 69, 247, 15, 182, 67, 4, 48, 69, 248, 15, 182, 67, 5, 48, 69, 249, 15, 182, 67, 6, 48, 69, 250, 15, 182, 67, 7, 141, 95, 254, 48, 69, 251, 141, 69, 244, 83, 255, 117, 16, 80, 232, 88, 0, 0, 0, 139, 69, 236, 49, 246, 48, 3, 48, 103, 255, 15, 182, 69, 238, 48, 7, 15, 182, 69, 239, 48, 71, 1, 139, 69, 240, 48, 71, 2, 48, 103, 3, 15, 182, 69, 242, 48, 71, 4, 15, 182, 69, 243, 48, 71, 5, 139, 69, 244, 137, 69, 236, 139, 69, 248, 137, 69, 240, 139, 69, 24, 131, 0, 8, 131, 199, 8, 139, 69, 12, 131, 248, 7, 15, 142, 82, 255, 255, 255, 95, 94, 91, 137, 236, 93, 194, 20, 0, 85, 137, 229, 131, 236, 16, 83, 86, 139, 117, 8, 87, 139, 6, 15, 200, 137, 69, 8, 139, 94, 4, 15, 203, 139, 125, 12, 49, 246, 139, 4, 183, 15, 200, 137, 68, 181, 240, 70, 131, 254, 4, 124, 241, 139, 125, 8, 49, 210, 141, 114, 32, 137, 217, 141, 146, 71, 145, 232, 87, 193, 233, 5, 137, 216, 3, 77, 244, 193, 224, 4, 3, 69, 240, 49, 193, 141, 4, 26, 49, 193, 1, 207, 137, 249, 137, 248, 193, 233, 5, 3, 77, 252, 193, 224, 4, 3, 69, 248, 49, 193, 141, 4, 58, 49, 193, 1, 203, 131, 238, 1, 117, 195, 15, 207, 139, 117, 16, 137, 62, 15, 203, 95, 137, 94, 4, 94, 91, 137, 236, 93, 194, 12, 0 })  ' 32轮

    .如果真结束

.如果真结束
返回 (outData)
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
 楼主| 发表于 2019-9-27 05:32:49 | 显示全部楼层   广东省汕头市
本帖最后由 LLJ 于 2019-9-27 16:25 编辑

TEA(32轮).e (44.29 KB, 下载次数: 132)
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)

签到天数: 22 天

发表于 2019-9-26 12:55:30 | 显示全部楼层   新疆维吾尔自治区昌吉回族自治州
谢谢分享源码!收藏了
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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