首页
社区
课程
招聘
[求助]下面这个程序是怎末调用api的
发表于: 2008-8-5 01:06 4494

[求助]下面这个程序是怎末调用api的

2008-8-5 01:06
4494
今天偶然看到个小程序,很神奇,里面的代码很混乱!
比如下面是调用writefile后的代码:
0040BF2C    EF              out     dx, eax
0040BF2D  ^ E9 A6FBFFFF     jmp     0040BAD8
0040BF32    0FA2            cpuid
0040BF34    68 3152E8BA     push    BAE85231
0040BF39  ^ E9 8CFBFFFF     jmp     0040BACA
0040BF3E    68 295228C1     push    C1285229
0040BF43  ^ E9 82FBFFFF     jmp     0040BACA
0040BF48    94              xchg    eax, esp
0040BF49    FB              sti
0040BF4A    53              push    ebx
0040BF4B    C423            les     esp, fword ptr [ebx]
0040BF4D    68 B676EB6F     push    6FEB76B6
0040BF52  ^ E9 9DFCFFFF     jmp     0040BBF4
0040BF57    7E 08           jle     short 0040BF61
0040BF59    B0 C3           mov     al, 0C3
0040BF5B    9C              pushfd
0040BF5C    81C1 49A98500   add     ecx, 85A949
0040BF62    4A              dec     edx
用断点断下后即使返回到用户领空,看到的代码也不知所措

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 424
活跃值: (1829)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
代码被VM了
2008-8-5 08:42
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不懂,对VM了的code,偶基本无从下手...
不懂壳啊,不懂扭曲加密啊
2008-8-5 09:12
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
4
原来如此!我说怎末看着都不懂,谢谢各位了。对了,怎末看 出是被vm呢,还有他调用api返回后为什么连个call都没看到?
2008-8-5 09:44
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
一大堆乱码,拖到IDA中,基本什么都看不见的,除了常见的花,应该就是被VM了的...
2008-8-5 10:55
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
6
呵呵,上面就是传说中的sudami同学啊,久仰久仰。
这个程序调用api后连返回的地方都看不懂,真不知道以后破解都成这样岂不没发混了……我对vm一点不熟悉
2008-8-5 16:04
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
你追码错误比较有可能
2008-8-5 20:32
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
8
vmp1.2x
鸡蛋壳放出来的那个程序?
获取硬件信息的代码网上很多的
2008-8-5 21:32
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
9
我好好研究下vm,太神奇了~~
2008-8-6 11:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看着几个jmp地址
0040BF2D  ^ E9 A6FBFFFF     jmp     0040BAD8
0040BF32    0FA2            cpuid
0040BF34    68 3152E8BA     push    BAE85231
0040BF39  ^ E9 8CFBFFFF     jmp     0040BACA
0040BF3E    68 295228C1     push    C1285229
0040BF43  ^ E9 82FBFFFF     jmp     0040BACA
0040BF4B    C423            les     esp, fword ptr [ebx]
0040BF4D    68 B676EB6F     push    6FEB76B6
0040BF52  ^ E9 9DFCFFFF     jmp     0040BBF4
0040BF57    7E 08           jle     short 0040BF61

很显然call在那一堆里面混杂着,或者运行时被解码修改成正确的,所以静态分析基本无效。
40Bxxxx这些区域
2008-8-6 14:45
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
可以找一下是否有代码读写修改这几片区域
应该是动态代码,不过既然能跑,肯定是能找到因果链条的
2008-8-6 14:47
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
12
找不到啊找不到……就是找不到因果链条才来问大家的。完全没有思路怎末弄
2008-8-6 18:31
0
游客
登录 | 注册 方可回帖
返回
//