能力值:
( LV2,RANK:10 )
|
-
-
2 楼
你有对程序内部做 vm 保护吗 ? 如果有就还得处理 cpuid
并且你用 插件脱壳一点意思都没有,也证明你根本没必要去脱这个壳,vmp 外壳属于中级强度,不是你刚刚接触的人玩的了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我没做内部vm一样不能跨平台..
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我是用zeus插件脱的,不知道是不是这个插件的关系,反正脱出来的拿其他机器就报内存错误,我重新生成的一个空白程序都是一样
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这个插件我没用过,但内部有bug很正常,并且出来没更新,估计对现在新版的vmp不兼容,真的这么急就要对这东西动手 ?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
这东西我都了好多天都没看懂、就是不知道怎么回事,换机器就抱错
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
7c811752 这个地址,是你电脑上某 API 的地址,换了个 PC 那么就对不上号了
而这个 7c811752 是 vmp dispatcher_api_fun 中获取并写成了 硬编码派发到调用函数中合成的
譬如: 7C811752 是 MessageBoxA 的地址, dispatcher_api_fun 中为他们分成了2 个 key
push 43a62110
mov eax,38DAF642
add 38DAF642 , 43a62110
sum= 7C811752
push sum
retn -> 这样就成功的调用了 MessageBoxA 这个 API 了
然而,由于你 “自以为是的 脱掉了外壳,而外壳中的 dispatcher_api_fun 在脱壳中缺失了,于是无法在分配出你机
器中真实 MessageBoxA 的地址,而那个合成了的 7C811752 还会跟着你到了别的机器,于是,调用了个空的地址,悲剧了 。。。。。。。。。。。。。。。。。
我没读过书,所以描述很差,你将就的理解吧
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
恩,懂了,就是说IAT没修复好,但是我看了IAT里面都没有加密的地址呢
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
这个插件我真没用过,但如果它没搜集齐全一样,IAT 不能显示出来的,如果 VM 了内部函数,
那么你的问题会更多vmp 会内建小型的 IAT
还会对 VM 代码中调用的 API 分别用不同的方式加密,那么就是说你要不还原 VM 了的代码
要不,就把各个加密的 API 不同算法抽出来,然后在调用前抢先一步送入正确的数据,让这段 vm 的算法也能
正常的调用 对应的 API ,那才叫做 vmp 真正脱壳
单纯的加壳不对内部的 vm 方式,效果弱爆了 (就算最新版本)
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我用LCF脚本也跑不起来,跑到API的时候就直接退出了,不知道是什么问题?
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
那个脚本我也没正式用过(我用的是自己写的),没法回答你,你可以在退出后,
看看脚本窗口,是哪里退出的,分析原因
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
在这里直接退出了
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我的问题应该不是内部API的关系,我是虚拟机里脱的壳,我用补区段的方法都一样报错
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
你根本不懂,补区段对这种方式一点用都没有,你连 VMP 最基本是如何处理一个过程都不了解,很难跟你解释
喜欢问没关系,问题是出了问题,还是要自己分析的,我还真没问过别人,当初看了一下vmp的分析,然后自己动手
逆向 壳 加载 的全过程,然后总结还原 VM 的方式,中途借鉴了一些别人一些好的想法,自己写完了1500多行
的脚本,脚本还反复修改 。。。。
|
|
|