首页
社区
课程
招聘
[原创]libsgmain反混淆及VM还原
发表于: 2021-5-23 16:39 71606

[原创]libsgmain反混淆及VM还原

2021-5-23 16:39
71606
收藏
免费 38
支持
分享
打赏 + 200.00雪花
打赏次数 1 雪花 + 200.00
 
赞赏  猫盾科技   +200.00 2021/05/23 精品文章~
最新回复 (43)
雪    币: 277
活跃值: (3363)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
26
大神的trace工具是基于啥写出来的
2021-5-24 19:55
0
雪    币: 5235
活跃值: (3260)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
27
krash 自制的。土豪用的是哪个?
厉害  我穷人只能用ida大佬有什么推荐吗
2021-5-24 21:52
0
雪    币: 16533
活跃值: (6544)
能力值: ( LV13,RANK:923 )
在线值:
发帖
回帖
粉丝
28
只想知道,trace是如何保证每个真实块能覆盖到的
2021-5-25 10:40
0
雪    币: 435
活跃值: (1307)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
29
牛啊
2021-5-26 11:06
0
雪    币: 262
活跃值: (357)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
强, 很强. 如果 ida 有 IR 层分析的深度支持就好了.. 
2021-5-28 13:48
0
雪    币: 2089
活跃值: (3933)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
太牛了,我这种懒人都是取巧用编译器优化,直接把无用片段压缩删除掉,编译器优化出来的东西跟没有混淆之前一样
2021-5-30 08:54
0
雪    币: 210
活跃值: (1847)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
其实是受限于体积和性能,我们没有对vmhandle做混淆处理,和litevm的开发沟通了下,对方表示vmprotect强其实也是强在对于vm做了混淆如果这里上混淆的话效果要好不少,但是体积和性能又不允许,这是个折衷的方案。顺便litevm的开发表示最新版本已经在酝酿中了23333
2021-5-31 14:40
0
雪    币: 864
活跃值: (5124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
着实nb
2021-5-31 16:55
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
34
wx_0xC05StackOver 其实是受限于体积和性能,我们没有对vmhandle做混淆处理,和litevm的开发沟通了下,对方表示vmprotect强其实也是强在对于vm做了混淆如果这里上混淆的话效果要好不少,但是体积和性能又不允 ...

我没还原过PC的VMP,不知道VMP的handler是如何混淆的,我人个无责任猜测VMP强很可能不是因为混淆了handler。

之前还原@爱吃菠菜的安卓VmpCrackMe一枚,一个类似VMP VM Crackme,还原它有下面两个难点,我觉得可能会比混淆handler难处理:

  • VM基于栈的虚拟机,还原它的第一步就需要把栈虚拟机转换成寄存器机。
  • 还原完整CFG。这个VM跳转目标是动态计算的,在需要进行条件跳转时,VM Crackme会在栈上动态构建一个跳转表,根据条件码(nzcv)计算跳转case。还有恢复跳转条件对应的跳转目标。
2021-5-31 19:58
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
35
krash 不是,自己的,unicorn比较难改host的内存吧。
unicorn可直接映射host memory,其实是qemu的能力
2021-7-7 21:34
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
36
Rprop unicorn可直接映射host memory,其实是qemu的能力

可能我们理解的不太一样。我需要的是直接使用Host的内存,指令对内存的修改对Host可见,类似这位大佬的unicornVM,这个很好实现?

2021-7-8 20:21
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
37
krash 可能我们理解的不太一样。我需要的是直接使用Host的内存,指令对内存的修改对Host可见,类似这位大佬的unicornVM,这个很好实现?
是的,就是这个意思,之前实现了一套,挺方便的
2021-7-8 22:08
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
38
krash 可能我们理解的不太一样。我需要的是直接使用Host的内存,指令对内存的修改对Host可见,类似这位大佬的unicornVM,这个很好实现?
不过我是用unicorn的cpp接口做的,其它语言估计会麻烦点,只是unicorn的qemu滞后太多,估计unicorn2性能会优点,不过用来trace足够用了
2021-7-8 22:14
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
39
Rprop 不过我是用unicorn的cpp接口做的,其它语言估计会麻烦点,只是unicorn的qemu滞后太多,估计unicorn2性能会优点,不过用来trace足够用了
了解。等后面我搞x86的时候再研究下。
2021-7-8 22:46
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
40
krash 了解。等后面我搞x86的时候再研究下。
x86?现在这套trace是用类似ptrace在设备上运行的?
另外大佬的goron还维护吗
2021-7-8 23:18
0
雪    币: 3818
活跃值: (4233)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
41
Rprop x86?现在这套trace是用类似ptrace在设备上运行的? 另外大佬的goron还维护吗
现在这套只支持arm64,以前还支持arm32。arm32指令集太复杂,坑太多,后面重构的时候直接不考虑了。
没有用ptrace,改的rom。
goron没有在维护,主要是没有什么好想法。现在觉得有trace,搞些自动化分析trace的工具,啥混淆都能分析。
2021-7-8 23:50
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
太牛逼了
2021-7-12 20:13
0
雪    币: 271
活跃值: (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
有类似开源码的Trace工具吗?能否说下实现原理
2021-11-26 02:01
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
44
Hello. I am interested in Aliexpress mobile app "x-sign" algorithm reverse. We can talk qq 2474633860.
你好!. 我对Aliexpress移动应用程序"x-sign"算法感兴趣。 我们可以聊qq2474633860.
2022-10-13 09:48
0
游客
登录 | 注册 方可回帖
返回
//