首页
社区
课程
招聘
[求助]如何将这个il代码进行流程反混淆?
发表于: 2008-12-25 20:46 6405

[求助]如何将这个il代码进行流程反混淆?

2008-12-25 20:46
6405
一个类被流程混淆了,在reflector等工具中反不了代码,用ildasm中dump出来后,其代码如下:
    .maxstack  6
    .locals init (char[] V_0,
             int32 V_1)
    IL_0000:  ldarg.0
    IL_0001:  br.s       IL_0015

    IL_0003:  sub
    IL_0004:  conv.u2
    IL_0005:  stelem.i2
    IL_0006:  ldarg.1
    IL_0007:  ldc.i4     0x6fd
    IL_000c:  add
    IL_000d:  starg.s    '211566702b710682'
    IL_000f:  ldloc.1
    IL_0010:  ldc.i4.1
    IL_0011:  add
    IL_0012:  stloc.1
    IL_0013:  br.s       IL_0027

    IL_0015:  callvirt   instance char[] [mscorlib]System.String::ToCharArray()
    IL_001a:  stloc.0
    IL_001b:  ldc.i4.0
    IL_001c:  stloc.1
    IL_001d:  br.s       IL_0027

    IL_001f:  ldloc.0
    IL_0020:  ldloc.1
    IL_0021:  ldloc.0
    IL_0022:  ldloc.1
    IL_0023:  ldelem.u2
    IL_0024:  ldarg.1
    IL_0025:  br.s       IL_0003

    IL_0027:  ldloc.1
    IL_0028:  ldloc.0
    IL_0029:  ldlen
    IL_002a:  conv.i4
    IL_002b:  blt.s      IL_001f

    IL_002d:  ldloc.0
    IL_002e:  newobj     instance void [mscorlib]System.String::.ctor(char[])
    IL_0033:  ret

由于不熟悉msil语法,请问如何反混淆回去?多谢了各位

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 5275
活跃值: (451)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
2
把br连起来
2008-12-25 21:29
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
版主,怎么联接呢?请教了
2008-12-25 22:24
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
放个软件上来研究研究
2008-12-25 23:12
0
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
今天在上别的课的时候把版主.Net加解密第8章的流程混淆看了一下

其实版主说的把br连起来已经很清楚了(其实在前几天还没看这一章的时候,版主的这句话我也不知道撒意思)   

这个混淆是最简单的混淆了,呵呵

br连起来后的代码如下:

    .maxstack  6
    .locals init (char[] V_0,
             int32 V_1)
    IL_0000:  ldarg.0

    IL_0015:  callvirt   instance char[] [mscorlib]System.String::ToCharArray()
    IL_001a:  stloc.0
    IL_001b:  ldc.i4.0
    IL_001c:  stloc.1
    IL_001d:  br.s       IL_0027

    IL_001f:  ldloc.0
    IL_0020:  ldloc.1
    IL_0021:  ldloc.0
    IL_0022:  ldloc.1
    IL_0023:  ldelem.u2
    IL_0024:  ldarg.1

    IL_0003:  sub
    IL_0004:  conv.u2
    IL_0005:  stelem.i2
    IL_0006:  ldarg.1
    IL_0007:  ldc.i4     0x6fd
    IL_000c:  add
    IL_000d:  starg.s    '211566702b710682'
    IL_000f:  ldloc.1
    IL_0010:  ldc.i4.1
    IL_0011:  add
    IL_0012:  stloc.1

    IL_0027:  ldloc.1
    IL_0028:  ldloc.0
    IL_0029:  ldlen
    IL_002a:  conv.i4
    IL_002b:  blt.s      IL_001f

    IL_002d:  ldloc.0
    IL_002e:  newobj     instance void [mscorlib]System.String::.ctor(char[])
    IL_0033:  ret
2008-12-27 20:35
0
游客
登录 | 注册 方可回帖
返回
//