Safengine LLVM DEMO - Android.so库加密终极武器(无限离线测试)
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
感谢 海风月影 的 分享 原帖地址 :http://bbs.pediy.com/showthread.php?t=195330
Giri
Thank you for sharing like this information. This is the most easy way of learning. This helps me to get some idea regarding this and helps me to bring a creative thought.
Hadoop Training in Chennai
504673895
我又来了,您高兴吗?!
ICEFOX
@504673895 高兴啊~