能力值:
( LV9,RANK:225 )
|
-
-
2 楼
我也在研究这个,但学生狗目前没办法摸到电脑,能不能私发一下我群号?
|
能力值:
( LV5,RANK:60 )
|
-
-
3 楼
三十二变
[em_2]我也在研究这个,但学生狗目前没办法摸到电脑,能不能私发一下我群号?
已发
|
能力值:
( LV6,RANK:87 )
|
-
-
4 楼
已加群
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
膜拜大佬,流口水
|
能力值:
(RANK:260 )
|
-
-
6 楼
不错,自写指令膨胀还是蛮有意思的。鼓励一下
|
能力值:
( LV13,RANK:420 )
|
-
-
7 楼
现在还研究壳的已经不多了,LZ是准备商业化吗,可能是未来的竞争对手
异或 等操作 imm = ( 0x123456+0x111111 ) ^ 0x22222 = 0x216745在混淆代码中表现出来
这个不能简单的进行算术替换,你没考虑标记位问题,大多数时候是没问题的,但是要是遇到下面这样的代码,你直接在中间插入算术运算就标记位就会出问题。
cmp eax, 0
push 0x123456
jnz xxx
|
能力值:
( LV5,RANK:60 )
|
-
-
8 楼
|
能力值:
( LV7,RANK:104 )
|
-
-
9 楼
demoscene
现在还研究壳的已经不多了,LZ是准备商业化吗,可能是未来的竞争对手
异或 等操作 imm = ( 0x123456+0x111111 ) ^ 0x22222 = 0x2167 ...
mapo大佬 ,我可以研究你们的Mapoengine么 挑战一下
|
能力值:
( LV5,RANK:60 )
|
-
-
10 楼
demoscene
现在还研究壳的已经不多了,LZ是准备商业化吗,可能是未来的竞争对手
异或 等操作 imm = ( 0x123456+0x111111 ) ^ 0x22222 = 0x2167 ...
谢谢 demoscene 指出这个问题。算数运算指令是会改变eflage标志寄存器,之前想push 中间寄存器的时候将flage寄存器也压栈保存一下,不过这样做特征太明显,很容易被定位针对,还没有想到什么好的方法。 目前在修PE模块的重定位模块,单独处理混淆部分的重定位数据。这样混淆起来就不必考虑必须模拟需要修正重定位部分的代码。 在写壳的过程中我发现如果只是自己的壳保护自己的代码是比较容易的,碰到问题可以很快解决,如果写一个商用的壳真的需要考虑很多东西,因为总有一些在测试中不会出现的问题出现在计划之外,所以商业化应该是很遥远的事情,不过即使商业化也不会做成网络验证的,应该是一套保护系统,壳只是其中一部分。 我是自己在做这个东西,平时上班很忙、加上没什么人交流所以进度很慢,希望可以有些志同道合的小伙伴多多交流
|
能力值:
( LV7,RANK:110 )
|
-
-
11 楼
喷一句打击的话,毫无技术含量。虽然我认识demoscene。
|
能力值:
( LV7,RANK:110 )
|
-
-
12 楼
VMP还是做的不错的,对于代码保护以及兼容性,这种保护只能用在工具类产品上,对于互联网来说毫无价值。
|
能力值:
( LV5,RANK:60 )
|
-
-
13 楼
猪会被杀掉
喷一句打击的话,毫无技术含量。虽然我认识demoscene。
除了你的帖子 https://bbs.pediy.com/thread-250431.htm 大家也可以去看看 https://bbs.pediy.com/thread-223629.htm 这个demo写的也挺好
|
能力值:
( LV7,RANK:110 )
|
-
-
14 楼
Wszzy
除了你的帖子 https://bbs.pediy.com/thread-250431.htm 大家也可以去看看 https://bbs.pediy.com/thread-223629.htm 这 ...
我没说自己写的好,这种github上很多代码,我想喷的是你居然当个宝贝一样,还只发图不发代码,版主还给了精华。我发了代码不求精华。
|
能力值:
( LV7,RANK:110 )
|
-
-
15 楼
这种过时的技术有必要当个宝贝?
|
能力值:
( LV13,RANK:420 )
|
-
-
16 楼
ilyzqe
mapo大佬[em_41],我可以研究你们的Mapoengine么[em_86]挑战一下
这个写得太挫了,经不起大佬们的研究,还是研究VMP吧
|
能力值:
( LV13,RANK:420 )
|
-
-
17 楼
猪会被杀掉
我没说自己写的好,这种github上很多代码,我想喷的是你居然当个宝贝一样,还只发图不发代码,版主还给了精华。我发了代码不求精华。
稻哥还是这么热血,有文章讲原理也是一种分享
|
能力值:
( LV7,RANK:110 )
|
-
-
18 楼
demoscene
稻哥还是这么热血,有文章讲原理也是一种分享
麻婆大哥讲的有道理,别喊稻哥,承受不起。
|
能力值:
( LV13,RANK:810 )
|
-
-
19 楼
根据《虚拟机系统与进程的通用平台》的定义 vmp3的跳转属于直接线索寻址,在gcc下goto可以直接goto *ip这样跳转(看过jvm的代码就知道,jvm也是这么干的)
楼主的标志位处理真的是一个很严重的问题,而且这种xor隐藏没啥意义,把参数当作opcode读取出来再解密的安全性更高。 麻婆其实就是一个低配版的vmp2---我仅仅是说1.3版,许多地方做的还不如vmp2好,比如标志位处理部分
其实楼主的vm更像是themida的CISC VM,有空逆向一下themida的vm看看就知道了,他的RISC VM就是楼主准备接下来写的架构。
VM可以走两个极端走,要么把handler复杂化让分析变得异常痛苦(Themida方向) 要么走VMP的路线,handler简单但是编译器写的比较复杂。 都可以起到保护代码的作用,看你选择哪个方向了。 如果楼主想要好好发展mutation部分的话可以选择走TMD的路线。
现在最没意思的就是大家都抄袭VMP的VM架构,一点原创精神都没有。过段时间发布新版本的vxpack来弥补这个问题
|
能力值:
( LV5,RANK:60 )
|
-
-
20 楼
Anskya
根据《虚拟机系统与进程的通用平台》的定义
vmp3的跳转属于直接线索寻址,在gcc下goto可以直接goto *ip这样跳转(看过jvm的代码就知道,jvm也是这么干的)
楼主的标志位处理真的 ...
谢谢小零的解析,tmd的混淆技术已经相当成熟了,我也明白这个混淆引擎写下去会很像它。 我示意的push imm 混淆其实之所以没有处理标记位是急于想找人交流,直接从vm框架中 vmhandle 加解密里面直接拿出来用的,vm框架中veip指令流是按小零说的将pcode 用加减 not xor rol ror等随机加密的。 因为写壳是小众中的小众,所以一直没有完整的学习框架,大家都是在摸索中学习,却不把知识传承。这也可能导致大家一直在学这些东西,但没办法能站在巨人的肩膀上继续创新的原因。 map1.3的虚拟机像vmp2.x 的原因我想可能是他写壳的时候3.x 没出来,我现在的虚拟机是3.x 架构,因为打算写壳的时候3.x 授权分析都已经出来了。在保护强度其实大家都是在消磨crack 者们的耐心。所以时至今日对我来说,代码已经不重要了,重要的有一种思路,一种新的思想。
最后于 2019-3-26 20:18
被Wszzy编辑
,原因:
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
楼主,你群好像没了,正确key显示没用群
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
能不能私聊发一下群号给我谢谢大佬
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
很久没这么热闹了哈
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
群号是多少呀?
|
|
|