首页
社区
课程
招聘
[原创]关于壳中APIHOOK的一点点解析
发表于: 2010-9-20 15:14 6063

[原创]关于壳中APIHOOK的一点点解析

2010-9-20 15:14
6063

在看雪混了也有半年之余了,从一个完全不懂汇编只有一点C语言基础的人,慢慢地走来.如果没有这么多热心的人,和丰富的资源的吧,我可能早就放弃.随时到现在为止也依旧是一直大菜鸟,但还是一直想写篇文章来感谢一下看雪,顺带能帮助一下像我一样正在慢慢爬行的菜鸟们.可怜自己囊中羞涩啊,实在是没什么能看得出来给各位看官的:).
          今天朋友让我脱一个壳,壳到现在还没有什么思路.不过看见了一下可对API的一些处理貌似是HOOK了API函数.一直对HOOKAPI充满着神秘感,看过几遍文章但是一直没有自己实践过什么.根据壳的思路+上自己的可怜的汇编知识+N小时的调试.终于自己写了一个大概模拟这个思路的一个小汇编程序.主要的功能就是让我们下API断点也找不到到底是在哪里调用的.当然程序代码很简单,只是一个思路而已.这个壳的处理要麻烦很多,貌似还有用一个key值来解密。下面贴上代码:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
晕,网络一直很卡,所以刚才发重复了都不知道,这里的MessageBox函数只是拿来做一下掩饰,在壳里面是其他的函数,不过感觉思路应该是这样的.不知道我的看法对不对。
2010-9-20 15:28
0
雪    币: 134
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
_MyMessageCustom proc hWnd:dword,buff1:dword,buff2:dword,Code:dword

mov MyMessageBox,offset MessageBox
push eax
mov eax,dword ptr [esp+1ch]
mov dword ptr [esp+8],eax
pop eax
add esp,4
jmp MyMessageBox

为了防止在用户在 MessageBox 函数头下断点,而且静态反汇编也无法直接显示它调用了MessageBox,增加一点麻烦。

db 6Ah ,0Ch ,68h,60h,0FFh ,0B9h,77h,0E8h ,0D0h,83h,0FAh ,0FFh ,33h ,0DBh ,53h ,6Ah ,01h ,8Dh ,45h ,0E7h ,50h ,6Ah ,11h ,6Ah ,0FEh ,5Eh ,56h ,0E8h ,0C4h ,6Ch ,0FAh ,0FFh
db 3Bh ,0C3h ,7Ch, 1Ch, 38h, 5Dh ,0E7h ,75h ,17h ,89h ,5Dh ,0FCh ,0CCh ,89h ,75h ,0FCh ,0EBh ,0Eh ,33h ,0C0h

这个代码不知道你是用来做什么的,为何有一个 0CCh (int 3)?
2010-9-20 15:40
0
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
回答楼上的,这段代码永远不会执行,只是拿来填充的。我随便从一个地方Copy过来的.只是拿来忽悠人的.
2010-9-20 16:07
0
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
我把附件传上来了,你可以下下来看看!那段代码不会执行的.
2010-9-20 16:09
0
雪    币: 134
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
不错,自动动手改函数返回值
2010-9-20 16:50
0
雪    币: 998
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个不是什么apihook。要想找到调用者看下堆栈调用就知道了,从最近的堆栈调用开始单步就能找到。
2010-9-21 01:11
0
雪    币: 199
活跃值: (65)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
8
嗯,这个的确不是什么APIHOOK.最多只是改变函数流程的一种手段而已...我又让各位高人见笑了:( ...
2010-9-24 01:00
0
游客
登录 | 注册 方可回帖
返回
//