Safengine LLVM 基于 LLVM/Clang,在编译过程中对代码进行加密混淆处理,轻松满足跨平台、多系统环境下的安全需求。
您仅需标记需要保护的代码片段,并使用 Safengine LLVM 编译代码,即可完成保护。
此过程无需联网、上传,并且与开发环境无缝集成,支持源码级调试、设备模拟器及错误反馈。
我们使用最新的 LLVM/Clang 代码,支持最新 C++ 标准,并集成开发环境自带编译器的特性,
可完美替代原有编译器,生产出更高效、更稳定的应用程序。
安装步骤:
1.安装NDK(NDK版本r10c或更新)
2.解压se-llvm-ndk.7z
3.将se-llvm\prebuilt覆盖至NDK安装目录toolchains\llvm-3.5\prebuilt中
使用方法:
1.在JNI项目的Application.mk中增加NDK_TOOLCHAIN_VERSION := clang3.5
2.根据需要在代码中增加SDK标记
代码顶层:#pragma obfuscate on/off 加密编译该区域中的所有函数
函数声明:__attribute((obfuscate)) 加密编译该函数
3.执行ndk-build编译(使用-B重新编译项目)
例子:
#include <stdio.h>
#pragma obfuscate on
int main(int argc, char **argv) {
UNUSED(argc);UNUSED(argv);
printf("Hello, World!");
}
#pragma obfuscate off
用编译选项来标记处理区域
#pragma obfuscate on
#pragma obfuscate off
编译后结果:
.section __TEXT,__text,regular,pure_instructions
.ios_version_min 5, 0
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
.section __TEXT,__const_coal,coalesced
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16
.section __TEXT,__StaticInit,regular,pure_instructions
.section __TEXT,__cstring,cstring_literals
.syntax unified
.section __TEXT,__text,regular,pure_instructions
.globl _main
.align 2
_main:
push {r4, r5, r6, r7, lr}
add r7, sp, #12
push {r8, r10, r11}
sub sp, sp, #84
ldr r0, LCPI0_169
mvn r8, #1
mov lr, #108
mov r6, #33
mov r4, #101
mov r11, #114
LPC0_0:
ldr r0, [pc, r0]
ldr r0, [r0]
ldr r0, [r0]
str r0, [r7, #-32]
ldr r5, LCPI0_170
LPC0_1:
ldr r5, [pc, r5]
ldr r0, [r5]
ldr r10, LCPI0_171
LPC0_2:
ldr r10, [pc, r10]
ldr r1, [r10]
ldr r2, LCPI0_0
str r2, [r10]
rsb r2, r1, #0
ldr r3, LCPI0_1
sub r2, r3, r2
mul r3, r2, r1
mov r2, #0
mvn r1, r3
orr r1, r1, r8
cmn r1, #1
mul r1, r3, r0
moveq r2, #1
str r1, [r7, #-100]
strb r2, [r7, #-101]
ldr r0, LCPI0_2
ldr r1, LCPI0_172
LPC0_3:
ldr r1, [pc, r1]
add r1, r1, #13
str r1, [r7, #-108]
b LBB0_2
LBB0_1:
ldr r1, LCPI0_7
cmp r0, r1
ldreq r0, LCPI0_173
LBB0_2:
ldr r1, LCPI0_3
cmp r0, r1
bgt LBB0_6
ldr r1, LCPI0_174
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_175
str r0, [r5]
ldr r1, LCPI0_7
ldr r0, LCPI0_79
ldrb r2, [r7, #-78]
LBB0_5:
cmp r2, #0
movne r0, r1
b LBB0_2
LBB0_6:
ldr r1, LCPI0_4
cmp r0, r1
bgt LBB0_17
ldr r1, LCPI0_6
cmp r0, r1
bgt LBB0_1
ldr r1, LCPI0_8
cmp r0, r1
bgt LBB0_20
ldr r1, LCPI0_10
cmp r0, r1
bgt LBB0_22
ldr r1, LCPI0_12
cmp r0, r1
bgt LBB0_25
ldr r1, LCPI0_14
cmp r0, r1
bgt LBB0_27
ldr r1, LCPI0_16
cmp r0, r1
bgt LBB0_30
ldr r1, LCPI0_18
cmp r0, r1
bgt LBB0_32
ldr r1, LCPI0_20
cmp r0, r1
bgt LBB0_34
ldr r1, LCPI0_93
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_106
str r0, [r5]
ldr r1, LCPI0_67
ldr r0, LCPI0_86
ldrb r2, [r7, #-77]
b LBB0_5
LBB0_17:
ldr r1, LCPI0_5
cmp r0, r1
bne LBB0_2
sub r0, sp, #16
mov sp, r0
str r0, [r7, #-96]
ldr r0, [r7, #-96]
strb r6, [r0, #12]
ldr r0, [r7, #-96]
strb r4, [r0, #1]
ldr r0, [r7, #-96]
strb r11, [r0, #9]
ldr r0, [r7, #-96]
strb lr, [r7, #-87]
ldr r1, [r10]
add r0, r0, #2
str r0, [r7, #-92]
ldr r0, [r5]
ldr r2, LCPI0_176
str r2, [r10]
ldr r2, LCPI0_177
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-86]
eor r1, r3, r0
and r0, r3, r0
ldr r2, LCPI0_178
ldr r3, LCPI0_61
orr r1, r0, r1
ldr r0, LCPI0_71
LBB0_19:
cmp r1, r2
movhi r0, r3
b LBB0_2
LBB0_20:
ldr r1, LCPI0_9
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_105
str r0, [r5]
ldr r1, LCPI0_82
ldr r0, LCPI0_86
ldrb r2, [r7, #-70]
b LBB0_5
LBB0_22:
ldr r1, LCPI0_11
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-40]
mov r1, #231
ldrb r0, [r0]
bic r1, r1, r0
and r0, r0, #24
orr r0, r1, r0
ldr r1, [r7, #-48]
eor r0, r0, #33
strb r0, [r1]
ldr r0, [r7, #-96]
bl _printf
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_111
mov r4, #101
mov r6, #33
mov lr, #108
str r2, [r10]
rsb r2, r1, #0
ldr r3, LCPI0_112
sub r2, r3, r2
mul r3, r2, r1
mvn r1, r3
eor r0, r0, r3
orr r1, r1, r8
cmn r1, #1
mov r1, #0
moveq r1, #1
strb r1, [r7, #-33]
bic r1, r3, r0
ldr r2, LCPI0_113
ldr r3, LCPI0_90
ldr r0, LCPI0_84
LBB0_24:
cmp r1, r2
movlt r0, r3
b LBB0_2
LBB0_25:
ldr r1, LCPI0_13
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_156
str r2, [r10]
ldr r2, LCPI0_157
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-85]
ldr r2, LCPI0_158
eor r1, r3, r0
and r0, r3, r0
ldr r3, LCPI0_85
orr r1, r0, r1
ldr r0, LCPI0_74
cmp r1, r2
moveq r0, r3
b LBB0_2
LBB0_27:
ldr r1, LCPI0_15
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_114
str r2, [r10]
ldr r2, LCPI0_115
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-34]
eor r1, r3, r0
and r0, r3, r0
ldr r2, LCPI0_116
ldr r3, LCPI0_92
orr r1, r0, r1
ldr r0, LCPI0_11
LBB0_29:
cmp r1, r2
movgt r0, r3
b LBB0_2
LBB0_30:
ldr r1, LCPI0_17
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_101
str r0, [r5]
ldr r1, LCPI0_57
ldr r0, LCPI0_91
ldrb r2, [r7, #-50]
b LBB0_5
LBB0_32:
ldr r1, LCPI0_19
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_138
str r2, [r10]
ldr r2, LCPI0_139
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-61]
mul r1, r3, r0
ldr r2, LCPI0_140
ldr r3, LCPI0_76
ldr r0, LCPI0_89
b LBB0_24
LBB0_34:
ldr r1, LCPI0_21
cmp r0, r1
bgt LBB0_37
ldr r1, LCPI0_92
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_96
str r0, [r5]
ldr r1, LCPI0_11
ldr r0, LCPI0_77
ldrb r2, [r7, #-34]
b LBB0_5
LBB0_37:
ldr r1, LCPI0_22
cmp r0, r1
bgt LBB0_40
ldr r1, LCPI0_91
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-68]
mov r1, #171
strb r1, [r0]
ldr r0, [r7, #-96]
ldr r0, LCPI0_89
b LBB0_2
LBB0_40:
ldr r1, LCPI0_23
cmp r0, r1
bgt LBB0_43
ldr r1, LCPI0_90
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_95
str r0, [r5]
ldr r1, LCPI0_84
ldr r0, LCPI0_77
ldrb r2, [r7, #-33]
b LBB0_5
LBB0_43:
ldr r1, LCPI0_24
cmp r0, r1
bgt LBB0_46
ldr r1, LCPI0_89
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-68]
mov r1, #171
strb r1, [r0]
ldr r0, [r7, #-96]
ldr r1, [r10]
add r0, r0, #13
str r0, [r7, #-60]
ldr r0, [r7, #-108]
str r0, [r7, #-56]
ldr r0, [r5]
ldr r2, LCPI0_135
str r2, [r10]
rsb r0, r0, #0
ldr r2, LCPI0_136
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
sub r0, r0, r3
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-50]
ldr r2, LCPI0_137
rsb r1, r0, #0
ldr r3, LCPI0_17
ldr r0, LCPI0_57
b LBB0_29
LBB0_46:
ldr r1, LCPI0_25
cmp r0, r1
bgt LBB0_49
ldr r1, LCPI0_88
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_98
str r0, [r5]
ldr r1, LCPI0_66
ldr r0, LCPI0_78
ldrb r2, [r7, #-41]
b LBB0_5
LBB0_49:
ldr r1, LCPI0_26
cmp r0, r1
bgt LBB0_52
ldr r1, LCPI0_87
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_130
mov r6, #33
str r2, [r10]
ldr r2, LCPI0_131
add r2, r1, r2
mul r3, r2, r1
mvn lr, r3
orr r2, lr, r8
cmn r2, #1
mov r2, #0
moveq r2, #1
strb r2, [r7, #-49]
ldr r2, LCPI0_132
ldr r1, LCPI0_133
and r4, r0, r2
bic r12, r1, r0
mvn r0, r0
and r2, r3, r2
bic r1, r1, r3
orr r0, lr, r0
orr r12, r12, r4
orr r1, r1, r2
ldr r2, LCPI0_134
ldr r3, LCPI0_64
mov r4, #101
mov lr, #108
eor r1, r1, r12
mvn r0, r0
orr r1, r1, r0
ldr r0, LCPI0_63
b LBB0_19
LBB0_52:
ldr r1, LCPI0_27
cmp r0, r1
bgt LBB0_55
ldr r1, LCPI0_86
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-84]
ldrb r1, [r7, #-79]
strb r1, [r0]
mov r1, #32
ldr r0, [r7, #-96]
strb r1, [r0, #6]
mov r1, #111
ldr r0, [r7, #-96]
strb r1, [r0, #8]
ldr r0, [r7, #-96]
ldr r0, LCPI0_67
b LBB0_2
LBB0_55:
ldr r1, LCPI0_28
cmp r0, r1
bgt LBB0_58
ldr r1, LCPI0_85
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_108
str r0, [r5]
ldr r1, LCPI0_74
ldr r0, LCPI0_79
ldrb r2, [r7, #-85]
b LBB0_5
LBB0_58:
ldr r1, LCPI0_29
cmp r0, r1
bgt LBB0_60
ldr r1, LCPI0_84
cmp r0, r1
bne LBB0_2
b LBB0_140
LBB0_60:
ldr r1, LCPI0_30
cmp r0, r1
bgt LBB0_63
ldr r1, LCPI0_83
cmp r0, r1
bne LBB0_2
ldr r12, [r5]
ldr r1, [r10]
ldr r2, LCPI0_144
str r2, [r10]
ldr r2, LCPI0_145
add r2, r1, r2
mul r3, r2, r1
eor r0, r3, r8
tst r0, r3
mov r0, #0
mla r3, r2, r1, r12
moveq r0, #1
strb r0, [r7, #-69]
ldr r1, LCPI0_146
ldr r2, LCPI0_65
ldr r0, LCPI0_80
cmp r3, r1
movlt r0, r2
b LBB0_2
LBB0_63:
ldr r1, LCPI0_31
cmp r0, r1
bgt LBB0_65
ldr r1, LCPI0_82
cmp r0, r1
ldreq r0, LCPI0_83
b LBB0_2
LBB0_65:
ldr r1, LCPI0_32
cmp r0, r1
bgt LBB0_68
ldr r1, LCPI0_81
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_150
str r2, [r10]
ldr r2, LCPI0_151
add r2, r1, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-77]
bic r1, r3, r0
bic r0, r0, r3
ldr r2, LCPI0_152
ldr r3, LCPI0_93
orr r1, r0, r1
ldr r0, LCPI0_67
b LBB0_24
LBB0_68:
ldr r1, LCPI0_33
cmp r0, r1
bgt LBB0_72
ldr r1, LCPI0_80
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-76]
mov r1, #44
strb r1, [r0]
ldr r0, [r7, #-96]
ldr r1, [r10]
add r0, r0, #14
str r0, [r7, #-68]
ldr r0, [r5]
ldr r2, LCPI0_141
str r2, [r10]
ldr r2, LCPI0_142
add r2, r1, r2
mul r3, r2, r1
mvn r1, r3
orr r1, r1, r8
cmn r1, #1
mov r1, #0
moveq r1, #1
strb r1, [r7, #-62]
sub r1, r0, r3
ldr r2, LCPI0_143
ldr r3, LCPI0_68
ldr r0, LCPI0_69
LBB0_71:
cmp r1, r2
movlo r0, r3
b LBB0_2
LBB0_72:
ldr r1, LCPI0_34
cmp r0, r1
bgt LBB0_75
ldr r1, LCPI0_79
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-92]
ldrb r1, [r7, #-87]
strb r1, [r0]
mov r1, #72
ldr r0, [r7, #-96]
strb r1, [r0]
mov r1, #100
ldr r0, [r7, #-96]
strb r1, [r0, #11]
mov r1, #87
ldr r0, [r7, #-96]
strb r1, [r0, #7]
ldr r0, [r7, #-96]
strb lr, [r0, #3]
ldr r0, [r7, #-96]
ldr r0, LCPI0_74
b LBB0_2
LBB0_75:
ldr r1, LCPI0_35
cmp r0, r1
bgt LBB0_77
ldr r1, LCPI0_78
cmp r0, r1
ldreq r0, LCPI0_66
b LBB0_2
LBB0_77:
ldr r1, LCPI0_36
cmp r0, r1
bgt LBB0_80
ldr r1, LCPI0_77
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-40]
mov r1, #198
ldrb r0, [r0]
bic r1, r1, r0
and r0, r0, #57
orr r0, r1, r0
ldr r1, [r7, #-48]
strb r0, [r1]
ldr r0, [r7, #-96]
bl _printf
ldr r0, LCPI0_11
mov r4, #101
mov r6, #33
mov lr, #108
b LBB0_2
LBB0_80:
ldr r1, LCPI0_37
cmp r0, r1
bgt LBB0_83
ldr r1, LCPI0_76
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_102
str r0, [r5]
ldr r1, LCPI0_89
ldr r0, LCPI0_91
ldrb r2, [r7, #-61]
b LBB0_5
LBB0_83:
ldr r1, LCPI0_38
cmp r0, r1
bgt LBB0_86
ldr r1, LCPI0_75
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_97
str r0, [r5]
ldr r1, LCPI0_58
ldr r0, LCPI0_78
ldrb r2, [r7, #-35]
b LBB0_5
LBB0_86:
ldr r1, LCPI0_39
cmp r0, r1
bgt LBB0_89
ldr r1, LCPI0_74
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-92]
ldrb r1, [r7, #-87]
strb r1, [r0]
mov r1, #72
ldr r0, [r7, #-96]
strb r1, [r0]
mov r1, #100
ldr r0, [r7, #-96]
strb r1, [r0, #11]
mov r1, #87
ldr r0, [r7, #-96]
strb r1, [r0, #7]
ldr r0, [r7, #-96]
strb lr, [r0, #3]
ldr r0, [r7, #-96]
ldr r1, [r10]
add r0, r0, #4
str r0, [r7, #-84]
mov r0, #111
strb r0, [r7, #-79]
ldr r0, [r5]
ldr r2, LCPI0_153
str r2, [r10]
rsb r2, r1, #0
rsb r0, r0, #0
ldr r3, LCPI0_154
sub r2, r3, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-78]
sub r1, r3, r0
ldr r2, LCPI0_155
ldr r3, LCPI0_94
ldr r0, LCPI0_7
b LBB0_71
LBB0_89:
ldr r1, LCPI0_40
cmp r0, r1
bgt LBB0_92
ldr r1, LCPI0_73
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r5]
ldr r1, [r10]
ldr r2, LCPI0_122
str r2, [r10]
ldr r2, LCPI0_123
add r2, r1, r2
mul r3, r2, r1
mvn r1, r3
orr r1, r1, r8
cmn r1, #1
mov r1, #0
moveq r1, #1
strb r1, [r7, #-41]
mul r1, r3, r0
ldr r2, LCPI0_124
ldr r3, LCPI0_88
ldr r0, LCPI0_66
b LBB0_71
LBB0_92:
ldr r1, LCPI0_41
cmp r0, r1
bgt LBB0_95
ldr r1, LCPI0_72
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-76]
mov r1, #44
strb r1, [r0]
ldr r0, [r7, #-96]
ldr r0, LCPI0_80
b LBB0_2
LBB0_95:
ldr r1, LCPI0_42
cmp r0, r1
bgt LBB0_97
ldr r1, LCPI0_71
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
ldreq r0, LCPI0_13
b LBB0_2
LBB0_97:
ldr r1, LCPI0_43
cmp r0, r1
bgt LBB0_100
ldr r1, LCPI0_70
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-56]
mov r1, #48
ldrb r0, [r0]
bic r1, r1, r0
and r0, r0, #207
orr r0, r1, r0
ldr r1, [r7, #-60]
strb r0, [r1]
ldr r0, [r7, #-96]
ldr r0, LCPI0_63
b LBB0_2
LBB0_100:
ldr r1, LCPI0_44
cmp r0, r1
bgt LBB0_102
ldr r1, LCPI0_69
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
ldreq r0, LCPI0_19
b LBB0_2
LBB0_102:
ldr r1, LCPI0_45
cmp r0, r1
bgt LBB0_105
ldr r1, LCPI0_68
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_103
str r0, [r5]
ldr r1, LCPI0_69
ldr r0, LCPI0_72
ldrb r2, [r7, #-62]
b LBB0_5
LBB0_105:
ldr r1, LCPI0_46
cmp r0, r1
bgt LBB0_108
ldr r1, LCPI0_67
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-84]
ldrb r1, [r7, #-79]
strb r1, [r0]
mov r1, #32
ldr r0, [r7, #-96]
strb r1, [r0, #6]
mov r1, #111
ldr r0, [r7, #-96]
strb r1, [r0, #8]
ldr r0, [r7, #-96]
ldr r1, [r10]
add r0, r0, #5
str r0, [r7, #-76]
ldr r0, [r5]
ldr r2, LCPI0_147
str r2, [r10]
rsb r2, r1, #0
ldr r3, LCPI0_148
sub r2, r3, r2
mul r3, r2, r1
eor r1, r3, r8
tst r1, r3
mov r1, #0
moveq r1, #1
strb r1, [r7, #-70]
mul r1, r3, r0
ldr r2, LCPI0_149
ldr r3, LCPI0_9
ldr r0, LCPI0_82
b LBB0_24
LBB0_108:
ldr r1, LCPI0_47
cmp r0, r1
bgt LBB0_111
ldr r1, LCPI0_66
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_168
LPC0_5:
ldr r0, [pc, r0]
ldr r1, [r10]
add r0, r0, #10
str r0, [r7, #-40]
ldr r0, [r5]
ldr r2, LCPI0_117
str r2, [r10]
ldr r2, LCPI0_118
add r2, r1, r2
mul r3, r2, r1
mvn r1, r3
orr r1, r1, r8
cmn r1, #1
mov r1, #0
moveq r1, #1
strb r1, [r7, #-35]
ldr r1, LCPI0_119
add r0, r0, r1
ldr r1, LCPI0_120
ldr r2, LCPI0_121
sub r0, r0, r3
ldr r3, LCPI0_75
add r1, r0, r1
ldr r0, LCPI0_58
b LBB0_29
LBB0_111:
ldr r1, LCPI0_48
cmp r0, r1
bgt LBB0_114
ldr r1, LCPI0_65
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_104
str r0, [r5]
ldr r1, LCPI0_80
ldr r0, LCPI0_72
ldrb r2, [r7, #-69]
b LBB0_5
LBB0_114:
ldr r1, LCPI0_49
cmp r0, r1
bgt LBB0_117
ldr r1, LCPI0_64
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_100
str r0, [r5]
ldr r1, LCPI0_63
ldr r0, LCPI0_70
ldrb r2, [r7, #-49]
b LBB0_5
LBB0_117:
ldr r1, LCPI0_50
cmp r0, r1
bgt LBB0_120
ldr r1, LCPI0_63
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, [r7, #-56]
mov r1, #48
mov r6, #33
ldrb r0, [r0]
bic r1, r1, r0
and r0, r0, #207
orr r0, r1, r0
ldr r1, [r7, #-60]
strb r0, [r1]
ldr r0, [r7, #-96]
ldr r1, [r10]
add r0, r0, #10
str r0, [r7, #-48]
ldr r0, [r5]
ldr r2, LCPI0_125
str r2, [r10]
ldr r2, LCPI0_126
add r2, r1, r2
mul r3, r2, r1
mvn lr, r3
orr r2, lr, r8
cmn r2, #1
mov r2, #0
moveq r2, #1
strb r2, [r7, #-42]
ldr r2, LCPI0_127
ldr r1, LCPI0_128
and r4, r0, r2
bic r12, r1, r0
mvn r0, r0
and r2, r3, r2
bic r1, r1, r3
orr r0, lr, r0
orr r12, r12, r4
orr r1, r1, r2
ldr r2, LCPI0_129
ldr r3, LCPI0_60
mov r4, #101
mov lr, #108
eor r1, r1, r12
mvn r0, r0
orr r1, r1, r0
ldr r0, LCPI0_56
b LBB0_24
LBB0_120:
ldr r1, LCPI0_51
cmp r0, r1
bgt LBB0_123
ldr r1, LCPI0_2
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r1, LCPI0_162
ldr r2, [r7, #-100]
ldr r3, LCPI0_62
ldr r0, LCPI0_5
cmp r2, r1
movgt r0, r3
b LBB0_2
LBB0_123:
ldr r1, LCPI0_52
cmp r0, r1
bgt LBB0_126
ldr r1, LCPI0_62
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_110
str r0, [r5]
ldr r1, LCPI0_5
ldr r0, LCPI0_59
ldrb r2, [r7, #-101]
b LBB0_5
LBB0_126:
ldr r1, LCPI0_53
cmp r0, r1
bgt LBB0_129
ldr r1, LCPI0_61
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_109
str r0, [r5]
ldr r1, LCPI0_71
ldr r0, LCPI0_59
ldrb r2, [r7, #-86]
b LBB0_5
LBB0_129:
ldr r1, LCPI0_54
cmp r0, r1
bgt LBB0_132
ldr r1, LCPI0_60
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
bne LBB0_2
ldr r0, LCPI0_99
str r0, [r5]
ldr r1, LCPI0_56
ldr r0, LCPI0_70
ldrb r2, [r7, #-42]
b LBB0_5
LBB0_132:
ldr r1, LCPI0_55
cmp r0, r1
bgt LBB0_134
ldr r1, LCPI0_59
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
ldreq r0, LCPI0_5
b LBB0_2
LBB0_134:
ldr r1, LCPI0_56
cmp r0, r1
beq LBB0_137
ldr r1, LCPI0_57
cmp r0, r1
bne LBB0_139
ldr r0, LCPI0_87
b LBB0_138
LBB0_137:
ldr r0, LCPI0_73
LBB0_138:
mov lr, #108
mov r6, #33
mov r4, #101
b LBB0_2
LBB0_139:
ldr r1, LCPI0_58
mov lr, #108
mov r6, #33
mov r4, #101
cmp r0, r1
ldreq r0, LCPI0_15
b LBB0_2
LBB0_140:
ldr r0, [r7, #-32]
ldr r1, LCPI0_167
LPC0_4:
ldr r1, [pc, r1]
ldr r1, [r1]
ldr r1, [r1]
subs r0, r1, r0
moveq r0, #0
subeq sp, r7, #24
popeq {r8, r10, r11}
popeq {r4, r5, r6, r7, lr}
moveq pc, lr
bl ___stack_chk_fail
.align 2
.data_region
LCPI0_169:
.long L___stack_chk_guard$non_lazy_ptr-(LPC0_0+8)
.align 2
LCPI0_170:
.long l___unnamed_1-(LPC0_1+8)
.align 2
LCPI0_171:
.long l___unnamed_2-(LPC0_2+8)
.align 2
LCPI0_172:
.long l___unnamed_3-(LPC0_3+8)
.align 2
LCPI0_173:
.long 3219510760
.align 2
LCPI0_174:
.long 2308227127
.align 2
LCPI0_175:
.long 1536401212
.align 2
LCPI0_176:
.long 16756788
.align 2
LCPI0_177:
.long 1710324763
.align 2
LCPI0_178:
.long 3191771578
.align 2
LCPI0_0:
.long 2536549664
LCPI0_1:
.long 848505721
LCPI0_2:
.long 1195990067
LCPI0_3:
.long 2394321995
LCPI0_4:
.long 2147158149
LCPI0_5:
.long 2147158150
LCPI0_6:
.long 2144200239
LCPI0_7:
.long 2144200240
LCPI0_8:
.long 2103157071
LCPI0_9:
.long 2103157072
LCPI0_10:
.long 2076412443
LCPI0_11:
.long 2076412444
LCPI0_12:
.long 2052847615
LCPI0_13:
.long 2052847616
LCPI0_14:
.long 1879579645
LCPI0_15:
.long 1879579646
LCPI0_16:
.long 1861501119
LCPI0_17:
.long 1861501120
LCPI0_18:
.long 1855962107
LCPI0_19:
.long 1855962108
LCPI0_20:
.long 2395427227
LCPI0_21:
.long 2562891850
LCPI0_22:
.long 2600952698
LCPI0_23:
.long 2644239019
LCPI0_24:
.long 2650191211
LCPI0_25:
.long 2792645262
LCPI0_26:
.long 2798054856
LCPI0_27:
.long 2812969163
LCPI0_28:
.long 2821162649
LCPI0_29:
.long 2909007483
LCPI0_30:
.long 3204024942
LCPI0_31:
.long 3219510759
LCPI0_32:
.long 3400141638
LCPI0_33:
.long 3401361676
LCPI0_34:
.long 3425661641
LCPI0_35:
.long 3571924847
LCPI0_36:
.long 3888210372
LCPI0_37:
.long 4000410506
LCPI0_38:
.long 4051866263
LCPI0_39:
.long 4143723484
LCPI0_40:
.long 4164664710
LCPI0_41:
.long 62810453
LCPI0_42:
.long 144611373
LCPI0_43:
.long 166392313
LCPI0_44:
.long 199521059
LCPI0_45:
.long 311298713
LCPI0_46:
.long 820731728
LCPI0_47:
.long 843504970
LCPI0_48:
.long 1080023741
LCPI0_49:
.long 1193619198
LCPI0_50:
.long 1195990066
LCPI0_51:
.long 1345239852
LCPI0_52:
.long 1565201008
LCPI0_53:
.long 1730390262
LCPI0_54:
.long 1780708759
LCPI0_55:
.long 1790834352
LCPI0_56:
.long 1790834353
LCPI0_57:
.long 1851438128
LCPI0_58:
.long 1852521659
LCPI0_59:
.long 1780708760
LCPI0_60:
.long 1730390263
LCPI0_61:
.long 1565201009
LCPI0_62:
.long 1345239853
LCPI0_63:
.long 1193619199
LCPI0_64:
.long 1080023742
LCPI0_65:
.long 843504971
LCPI0_66:
.long 820731729
LCPI0_67:
.long 311298714
LCPI0_68:
.long 199521060
LCPI0_69:
.long 166392314
LCPI0_70:
.long 144611374
LCPI0_71:
.long 62810454
LCPI0_72:
.long 4164664711
LCPI0_73:
.long 4143723485
LCPI0_74:
.long 4051866264
LCPI0_75:
.long 4000410507
LCPI0_76:
.long 3888210373
LCPI0_77:
.long 3571924848
LCPI0_78:
.long 3425661642
LCPI0_79:
.long 3401361677
LCPI0_80:
.long 3400141639
LCPI0_81:
.long 3219510760
LCPI0_82:
.long 3204024943
LCPI0_83:
.long 2909007484
LCPI0_84:
.long 2821162650
LCPI0_85:
.long 2812969164
LCPI0_86:
.long 2798054857
LCPI0_87:
.long 2792645263
LCPI0_88:
.long 2650191212
LCPI0_89:
.long 2644239020
LCPI0_90:
.long 2600952699
LCPI0_91:
.long 2562891851
LCPI0_92:
.long 2395427228
LCPI0_93:
.long 2394321996
LCPI0_94:
.long 2308227127
LCPI0_95:
.long 731353712
LCPI0_96:
.long 696176068
LCPI0_97:
.long 1319959518
LCPI0_98:
.long 95089261
LCPI0_99:
.long 2730360
LCPI0_100:
.long 546504686
LCPI0_101:
.long 881463890
LCPI0_102:
.long 1609456643
LCPI0_103:
.long 4007780352
LCPI0_104:
.long 755678981
LCPI0_105:
.long 1542593880
LCPI0_106:
.long 3758301045
LCPI0_108:
.long 3646411782
LCPI0_109:
.long 598635298
LCPI0_110:
.long 1296802156
LCPI0_111:
.long 233802091
LCPI0_112:
.long 2817973975
LCPI0_113:
.long 778783627
LCPI0_114:
.long 1906576283
LCPI0_115:
.long 809077943
LCPI0_116:
.long 1712560843
LCPI0_117:
.long 2086023789
LCPI0_118:
.long 4194376783
LCPI0_119:
.long 3560262631
LCPI0_120:
.long 734704665
LCPI0_121:
.long 4023109125
LCPI0_122:
.long 68256121
LCPI0_123:
.long 1546152799
LCPI0_124:
.long 359531637
LCPI0_125:
.long 2007110360
LCPI0_126:
.long 3862580899
LCPI0_127:
.long 3807523487
LCPI0_128:
.long 487443808
LCPI0_129:
.long 1626893834
LCPI0_130:
.long 909055112
LCPI0_131:
.long 3015932289
LCPI0_132:
.long 1402867904
LCPI0_133:
.long 2892099391
LCPI0_134:
.long 2860478843
LCPI0_135:
.long 770573445
LCPI0_136:
.long 1132074609
LCPI0_137:
.long 4019257621
LCPI0_138:
.long 3177186281
LCPI0_139:
.long 3692529399
LCPI0_140:
.long 2922120867
LCPI0_141:
.long 480941047
LCPI0_142:
.long 815188113
LCPI0_143:
.long 669443525
LCPI0_144:
.long 503373225
LCPI0_145:
.long 533328177
LCPI0_146:
.long 218429907
LCPI0_147:
.long 1901900138
LCPI0_148:
.long 314539783
LCPI0_149:
.long 1677954704
LCPI0_150:
.long 2895710326
LCPI0_151:
.long 783353229
LCPI0_152:
.long 3297815903
LCPI0_153:
.long 56065071
LCPI0_154:
.long 4145534559
LCPI0_155:
.long 1524890401
LCPI0_156:
.long 2800632089
LCPI0_157:
.long 127259159
LCPI0_158:
.long 2488594547
LCPI0_162:
.long 1209439879
LCPI0_167:
.long L___stack_chk_guard$non_lazy_ptr-(LPC0_4+8)
LCPI0_168:
.long l___unnamed_3-(LPC0_5+8)
.end_data_region
.section __TEXT,__const
l___unnamed_3:
.asciz "\343\345\006\216\272-T\312U\334\252\267\0010"
.section __DATA,__data
.align 2
l___unnamed_2:
.long 2631951613
.align 2
l___unnamed_1:
.long 669150053
.section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers
.align 2
L___stack_chk_guard$non_lazy_ptr:
.indirect_symbol ___stack_chk_guard
.long 0
.subsections_via_symbols
Safengine LLVM DEMO,不支持汇编指令乱序和字符串加密功能
下载地址:点我 (32位及64位 Windows,需要 Android NDK r10c 或以上)
论坛地址:http://www.safengine.com/mobile/forum
关于使用和安装集成的QQ讨论群:425014860