首页
社区
课程
招聘
[原创]NoobyProtect 1.0.0.1 最小保护 完全修复 手记
发表于: 2009-8-21 11:31 11333

[原创]NoobyProtect 1.0.0.1 最小保护 完全修复 手记

2009-8-21 11:31
11333

NoobyProtect 1.0.0.1 最小保护 完全修复 手记

第一句:膜拜Nooby,hc版主
第二句:感谢yangjt的热心解答测试,感谢sessiondiy的大力支持

天哪,这玩意太变态了。这个壳拖拖拉拉搞了近半年,终于完成了1个脱壳……汗……还是1001的最小保护……

不过不管怎么说终于修复成功了。第一次觉得notepad的界面如此亲切……:lol

进入正题,这个手记将会分5部分写出

1 NoobyProtect 1.0.0.1最小保护 加密技术概貌

2 脚本实现分析

3 脚本使用方法

4 脚本插件出现的BUG

5 展望未来的np
==========================================================================
1 NoobyProtect 1.0.0.1最小保护 IAT加密技术概貌

最小保护没有加密代码段。
但是处理IAT极为猥琐
比如说开头这段
正常的程序为

0100739D > $  6A 70         PUSH 70
0100739F   .  68 98180001   PUSH NOTEPAD.01001898
010073A4   .  E8 BF010000   CALL NOTEPAD.01007568
010073A9   .  33DB          XOR EBX,EBX
010073AB   .  53            PUSH EBX                                 ; /pModule => NULL
010073AC   .  8B3D CC100001 MOV EDI,DWORD PTR DS:[<&KERNEL32.GetModu>; |kernel32.GetModuleHandleA
010073B2   .  FFD7          CALL EDI                                 ; \GetModuleHandleA
0100739D    6A 70           PUSH 70
0100739F    68 98180001     PUSH NOTEPAD_.01001898
010073A4    E8 BF010000     CALL NOTEPAD_.01007568
010073A9    33DB            XOR EBX,EBX
010073AB    53              PUSH EBX
010073AC    E8 638D0400     CALL NOTEPAD_.01050114 //这句被和谐了
010073B1    2F              DAS
010073B2    FFD7            CALL EDI

01007411  POP ECX
01007412  OR DWORD PTR DS:[100AB9C],FFFFFFFF
01007419  OR DWORD PTR DS:[100ABA0],FFFFFFFF
01007420  CALL DWORD PTR DS:[<&msvcrt.__p__fmode>] ;  msvcrt.__p__fmode

01007411  POP ECX
01007412  OR DWORD PTR DS:[100AB9C],FFFFFFFF
01007419  OR DWORD PTR DS:[100ABA0],FFFFFFFF
01007420  CALL NOTEPAD_.0105042E
0105042E   PUSHAD
0105042F   PUSHFD
01050430   CALL NOTEPAD_.01050435
01050435   MOV EBX,DWORD PTR SS:[ESP]
01050438   ADD EBX,23
0105043B   XOR EAX,EAX
0105043D   XCHG DWORD PTR DS:[EBX-4],EAX
01050440   CMP EAX,0
01050443   JE SHORT NOTEPAD_.0105044C
01050445   XOR BYTE PTR DS:[EBX],0D0
01050448   INC EBX
01050449   DEC EAX
0105044A   JNZ SHORT NOTEPAD_.01050445
0105044C   POP EAX
0105044D   POPFD
0105044E   POPAD
0105044F   JMP NOTEPAD_.01050458
gmi eip,CODEBASE
mov findtemp,$RESULT
alloc 2000
add $RESULT,100            //做IAT用
mov newiat,$RESULT
mov nnewiat,newiat
startfind:
findop findtemp,#E8????????# //查找所有call

cmp $RESULT,0  //找不到就大功告成啦
je overfind

mov savelast,$RESULT //存一下找到的地址


mov temp,[$RESULT+1]
add temp,$RESULT
add temp,5
mov myeip,temp
mov temp,[temp]
cmp temp,e89c60  //对该CALL的头3字节判断,以达到判断是否为np加密的call
jnz next //不是去死

    mov b,myeip
    mov calleip,myeip
    findop b,#8033??#  //找到关键一句
    mov temp1,$RESULT
    add temp1,2  
    mov xorbyte,[temp1] //得到xor的常数
    mov ecx,xorbyte
    mov xorbyte,cl  //将xor的常数赋到xorbyte中
0105042E     60               PUSHAD
0105042F     9C               PUSHFD
01050430     E8 00000000      CALL NOTEPAD_.01050435
01050435     8B1C24           MOV EBX,DWORD PTR SS:[ESP]
01050438     83C3 23          ADD EBX,23
0105043B     33C0             XOR EAX,EAX
0105043D     8743 FC          XCHG DWORD PTR DS:[EBX-4],EAX
01050440     83F8 00          CMP EAX,0
01050443     74 07            JE SHORT NOTEPAD_.0105044C
01050445     8033 D0          XOR BYTE PTR DS:[EBX],0D0  //******
01050448     43               INC EBX
01050449     48               DEC EAX
0105044A   ^ 75 F9            JNZ SHORT NOTEPAD_.01050445
0105044C     58               POP EAX
0105044D     9D               POPFD
0105044E     61               POPAD
0105044F     E9 04000000      JMP NOTEPAD_.01050458
    mov xorstart,b
    add xorstart,2a
    add xorstart,1b
    mov temp1,[xorstart+1]
    mov eax,[xorstart+8]
01050170     68 75133576      PUSH 76351375
01050175     810424 8EEDCF8A  ADD DWORD PTR SS:[ESP],8ACFED8E

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (14)
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
上传附件;)

脚本
脚本.rar

试炼品 NOTEPAD_npse.rar

出炉的(NAG没去,TLS清零就OK了) okokok.rar
上传的附件:
2009-8-21 11:34
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
3
我是来膜拜Lz的
2009-8-21 11:34
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
4
继续上传

npse101原程序 npse_public.rar
上传的附件:
2009-8-21 11:35
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
5
……yangjt真是速度
2009-8-21 11:35
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
你们都太坏了
2009-8-21 12:00
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
够朋友了吧,多次跟进XX
2009-8-21 12:45
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
8
嘿嘿,谢谢LS,LSS AND。。。。。捧场
2009-8-21 13:05
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
9
很精彩,支持
2009-8-21 13:24
0
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
10
谢谢捧场;)
2009-8-21 18:13
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
膜拜楼主跟Nooby
2009-9-11 11:50
0
雪    币: 333
活跃值: (46)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
好文章!!!
2010-3-12 19:01
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
UIF修复可能存在跨平台问题哦~~大家使用需要小心

谢谢 学习了
2010-5-1 23:12
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
膜拜Lz膜拜Lz
2010-5-10 15:47
0
雪    币: 239
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
脱壳真的很烦!难道是我太笨?
2011-1-12 11:46
0
游客
登录 | 注册 方可回帖
返回
//