能力值:
( LV13,RANK:410 )
|
-
-
2 楼
占个位置听讲
对于VM保护的代码?怎么patch呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
板凳.....没什么耍头得.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
学习ing,顶一个.
|
能力值:
(RANK:1130 )
|
-
-
5 楼
强人,学习一下
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
学习
|
能力值:
(RANK:570 )
|
-
-
7 楼
强烈支持楼主把这东西逆了
|
能力值:
( LV12,RANK:770 )
|
-
-
8 楼
呵呵.
支持...
|
能力值:
( LV9,RANK:140 )
|
-
-
9 楼
小七你逆吧 嘎嘎
|
能力值:
( LV9,RANK:170 )
|
-
-
10 楼
呵呵,终于找到家了。
年前研究了一个软件,加密就是用的这种加密,俺没有那么多分析壳
子的经验,按这个内容写了一个记录代码的程序,把程序的运行过程记录了下来,当然没有研究那么深,程序多次调用解码位置,我生成的
记录文件有200M左右的文本,通过这个文件,可以基础看清程序的流程了。只是代码量巨大,看完实在不易。
这个东西还是有规律可找的。但还是需要细心和最大的耐心。
指定KEY值做解码,按地址进行处理解码,前后指令相关的,前个字节用于
解码后一个字节,分配了自己的数据区和堆栈,进行数据的处理。
|
能力值:
( LV9,RANK:170 )
|
-
-
11 楼
VMProtect有麻烦了,让楼主盯上了~~~~~
|
能力值:
( LV9,RANK:330 )
|
-
-
12 楼
谁要是只加密算法部分,就倒霉了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
呵呵,越来越有趣了。
假如每次算法传过来用VM算,就是每次都不一样,恐怖!!!!
|
能力值:
( LV9,RANK:690 )
|
-
-
14 楼
支持~
要把Opcode的加密算法逆向出来确实要费一番功夫
BTW:Bughoho兄用的是哪个版本的VMP?我加的 1.22 进入Interpreter时没有调GetCurrentThreadId,这个跟被处理的代码有关吗?
|
能力值:
(RANK:330 )
|
-
-
15 楼
我也是1.22的.我也不大明白为什么要保存ThreadID到VM堆栈,估计是做标志吧...
|
能力值:
( LV9,RANK:410 )
|
-
-
16 楼
BUG兄的逆向功力令人佩服
|
能力值:
( LV8,RANK:130 )
|
-
-
17 楼
最初由 cyclotron 发布 支持~ 要把Opcode的加密算法逆向出来确实要费一番功夫
BTW:Bughoho兄用的是哪个版本的VMP?我加的 1.22 进入Interpreter时没有调GetCurrentThreadId,这个跟被处理的代码有关吗?
隐约记得似乎你的程序输入表里如果有GetCurrentThreadId,VMP就认为你的程序是需要支持多线程的,就会有这部分处理
|
能力值:
( LV9,RANK:690 )
|
-
-
18 楼
最初由 heXer 发布 隐约记得似乎你的程序输入表里如果有GetCurrentThreadId,VMP就认为你的程序是需要支持多线程的,就会有这部分处理
Many thanks~
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
不错的东西。。。漫漫看
|
能力值:
( LV4,RANK:50 )
|
-
-
20 楼
原来GetCurrentThreadId是为后面多线程的啊
我就一直不明白为什么VMprotect把ID放入VMContext中干什么
|
能力值:
(RANK:330 )
|
-
-
21 楼
最初由 heXer 发布 隐约记得似乎你的程序输入表里如果有GetCurrentThreadId,VMP就认为你的程序是需要支持多线程的,就会有这部分处理
最初由 yiyiguxing 发布 原来GetCurrentThreadId是为后面多线程的啊 我就一直不明白为什么VMprotect把ID放入VMContext中干什么
不过这部分处理好象没什么用...猜测而已.
|
能力值:
(RANK:330 )
|
-
-
22 楼
[此言差矣,删掉为好,以免祸害苍生.]
|
能力值:
( LV9,RANK:690 )
|
-
-
23 楼
最初由 Bughoho 发布 另外我的思想有误差,一开始就认为VMP是虚拟寄存器和堆栈的,所以结构的命名也就错了. VMP应该是模糊了寄存器,更没有它自己的堆栈,运算都是在堆栈实现,结果并不是存放在什么虚拟的寄存器中,而是堆栈中或者它自己指定的某个地址.
第一层里面跟现实寄存器对应的虚拟寄存器应该算是有的,堆栈倒是没有发现。。。
不过第二层很难说啊,没有分析下去
|
能力值:
(RANK:330 )
|
-
-
24 楼
最初由 cyclotron 发布 第一层里面跟现实寄存器对应的虚拟寄存器应该算是有的,堆栈倒是没有发现。。。 不过第二层很难说啊,没有分析下去
呵呵,我开始在认为是寄存器偏移的地方加了命名之后发现竟然没有保存就将其他值写进去了.立即就认为VMP模糊了寄存器.也没有继续往下分析.
当时一直没转过弯来,觉得VMP扔掉了寄存器的概念,全都用地址来保存结果,现在想起来,其实一切都是理所当然的.
谢谢提醒,继续往下跟.
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
VMP 太难了。暂时放弃
|
|
|