正如标题所言,这个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调用的高效低效 还和约定调用方式有关*/
ShadowKong
16f267241d165BBC694a463A3802694A1a68105A