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

评论

3条评论
  1. 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

  2. 504673895

    我又来了,您高兴吗?!