逆向反汇编基础之二十一:作者怎么做到的?居然把算法内嵌到API中?(原理已查明)

正如标题所言,这个CM仅次于之前的构造:

004xxx01  Call 004xxxx1

004xxx01  cmp EDI,0

004xxx01  JNZ offset[ 悲剧]

……..

……..

004xxxx1  XOR EDI EDI

004xxxx2  NOP

004xxxx3  RETN

机器码小关键CALL的CM,构造机器码的这个CM是迄今为止我觉得最有水平的 虽然可能这个CM的水平一般~但思路非常牛B

今天这个CM的关键算法位置居然是在API MessageBox的跳转过程中嵌入~怎么做到的??一般人肯定不会去跟一个对它非常熟悉的API

就像我第一次肯定不会去跟MessageBox一样..但重要部分恰恰在其中.非常希望能知道作者是怎么办到的~非常高明啊 佩服作者的思维和想法~

/*经过这几天的试验,其实实现这种方式很简单,这涉及API调用的高效和低效的问题

首先  高效的API调用一般都是:

CALL DWORD PTR [ FUNCTION OFFSER IN LAT]

低效的API调用一般是:

CALL  @F

@@:

JMP WORD PTR [FUNCTION OFFSET IN LAT]

如果在一个低效的API的JMP前加入算法CALL的话  这就可以实现类似这个CM的情况了~

理论上应该是这样子的 通过修改DASM绝对可以实现  但是通过MASM编程直接实现可能还要委婉一点~

.还最后要说的是 API调用的高效低效  还和约定调用方式有关*/

一组可用Key:

ShadowKong

16f267241d165BBC694a463A3802694A1a68105A

http://dl.dbank.com/c0qiw24o8e

发表评论

邮箱地址不会被公开。 必填项已用*标注