首页
社区
课程
招聘
“超级奇怪的未知壳”脱壳笔记
发表于: 2006-8-9 17:02 8876

“超级奇怪的未知壳”脱壳笔记

2006-8-9 17:02
8876

【文章标题】: “超级奇怪的未知壳”脱壳笔记
【文章作者】: csjwaman
【下载地址】: http://bbs.pediy.com/showthread.php?s=&threadid=30232
【加壳方式】: q3说估计是坛子里某位兄弟自己的私家壳
【使用工具】: OD/PELord/ImportREC
【操作平台】: win2k
【作者声明】: 本来想等原帖楼主chinadev的教程的,等了等没见发帖。我就先发了。请chinadev不要见怪。
--------------------------------------------------------------------------------
【详细过程】
  
  
  
  
  OD载入程序,忽略所有异常,运行后异常:
  
  
  004DE8EC    61              POPAD
  004DE8ED    A1 DBA6F0FE     MOV EAX,DWORD PTR DS:[FEF0A6DB]///这里异常后退出。
  004DE8F2    61              POPAD
  004DE8F3    72 67           JB SHORT 004DE95C                        ; sm.004DE95C
  004DE8F5    C2 01DB         RETN 0DB01
  004DE8F8    CB              RETF                                     ; 远距返回
  004DE8F9    D5 BC           AAD 0BC
  004DE8FB    D5 BF           AAD 0BF
  004DE8FD    F2:             PREFIX REPNE:                            ; 多余的前缀
  004DE8FE    1C BD           SBB AL,0BD
  004DE900    E0 2A           LOOPDNE SHORT 004DE92C                   ; sm.004DE92C
  
  堆栈:
  
  0012FFC0   004DE730  返回到 sm.004DE730 来自 sm.004DEABB
  
  稍微看一下就可以发现上方面这些代码是被加密过的。到返回处看看:
  
  004DE6FC    2A26            SUB AH,BYTE PTR DS:[ESI]
  004DE6FE    25 244000E8     AND EAX,E8004024
  004DE703    01E9            ADD ECX,EBP
  004DE705    5E              POP ESI
  004DE706    83EE 05         SUB ESI,5
  004DE709    81EE 641B4000   SUB ESI,401B64
  004DE70F    81C6 791D4000   ADD ESI,401D79
  004DE715    B9 1E000000     MOV ECX,1E
  004DE71A    EB 0A           JMP SHORT 004DE726                       ; sm.004DE726
  004DE71C    8136 25342A37   XOR DWORD PTR DS:[ESI],372A3425 ///这个xor会不会就是加密用的?
  004DE722    49              DEC ECX
  004DE723    83C6 04         ADD ESI,4
  004DE726    83F9 00         CMP ECX,0
  004DE729  ^ 77 F1           JA SHORT 004DE71C                        ; sm.004DE71C
  004DE72B    E8 8B030000     CALL 004DEABB ///进入这个CALL看看
  004DE730    E8 00000000     CALL 004DE735 ///返回地址。
  004DE735    58              POP EAX
  004DE736    2D A21B4000     SUB EAX,401BA2
  004DE73B    8D80 55194000   LEA EAX,DWORD PTR DS:[EAX+401955]
  004DE741    2D E8040000     SUB EAX,4E8
  004DE746    C3              RETN
  
  进入 CALL 004DEABB后:
  
  004DEABB    55              PUSH EBP
  004DEABC    8BEC            MOV EBP,ESP
  004DEABE    83C4 E8         ADD ESP,-18
  004DEAC1    56              PUSH ESI
  004DEAC2    53              PUSH EBX
  004DEAC3    E8 68FCFFFF     CALL 004DE730                            ; sm.004DE730
  004DEAC8    8BD8            MOV EBX,EAX
  004DEACA    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
  004DEACD    2B98 D4000000   SUB EBX,DWORD PTR DS:[EAX+D4]
  004DEAD3    895D FC         MOV DWORD PTR SS:[EBP-4],EBX
  004DEAD6    E8 AE110000     CALL 004DFC89                            ; sm.004DFC89
  004DEADB    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  004DEADE    0340 3C         ADD EAX,DWORD PTR DS:[EAX+3C]
  004DEAE1    0FB750 06       MOVZX EDX,WORD PTR DS:[EAX+6]
  004DEAE5    8955 F4         MOV DWORD PTR SS:[EBP-C],EDX
  004DEAE8    E8 C0010000     CALL 004DECAD                            ; sm.004DECAD
  004DEAED    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  004DEAF0    0340 3C         ADD EAX,DWORD PTR DS:[EAX+3C]
  004DEAF3    52              PUSH EDX
  004DEAF4    8BD0            MOV EDX,EAX
  004DEAF6    51              PUSH ECX
  004DEAF7    33C9            XOR ECX,ECX
  004DEAF9    66:8B4A 14      MOV CX,WORD PTR DS:[EDX+14]
  004DEAFD    83C0 04         ADD EAX,4
  004DEB00    83C0 14         ADD EAX,14
  004DEB03    03C1            ADD EAX,ECX
  004DEB05    59              POP ECX
  004DEB06    5A              POP EDX
  004DEB07    8BD8            MOV EBX,EAX
  004DEB09    EB 4B           JMP SHORT 004DEB56                       ; sm.004DEB56
  004DEB0B    8B73 0C         MOV ESI,DWORD PTR DS:[EBX+C]
  004DEB0E    0375 FC         ADD ESI,DWORD PTR SS:[EBP-4]
  004DEB11    8975 F0         MOV DWORD PTR SS:[EBP-10],ESI
  004DEB14    53              PUSH EBX
  004DEB15    813E 212A7E26   CMP DWORD PTR DS:[ESI],267E2A21
  004DEB1B    75 32           JNZ SHORT 004DEB4F                       ; sm.004DEB4F
  004DEB1D    8B43 10         MOV EAX,DWORD PTR DS:[EBX+10]
  004DEB20    8945 E8         MOV DWORD PTR SS:[EBP-18],EAX
  004DEB23    FF75 E8         PUSH DWORD PTR SS:[EBP-18]
  004DEB26    E8 AF0B0000     CALL 004DF6DA                            ; sm.004DF6DA
  004DEB2B    8945 EC         MOV DWORD PTR SS:[EBP-14],EAX
  004DEB2E    FF75 E8         PUSH DWORD PTR SS:[EBP-18]
  004DEB31    FF75 F0         PUSH DWORD PTR SS:[EBP-10]
  004DEB34    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
  004DEB37    E8 DB0C0000     CALL 004DF817                            ; sm.004DF817
  004DEB3C    FF75 F0         PUSH DWORD PTR SS:[EBP-10]
  004DEB3F    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
  004DEB42    E8 D8140000     CALL 004E001F                            ; sm.004E001F
  004DEB47    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
  004DEB4A    E8 290C0000     CALL 004DF778                            ; sm.004DF778
  004DEB4F    5B              POP EBX
  004DEB50    83C3 28         ADD EBX,28
  004DEB53    FF4D F4         DEC DWORD PTR SS:[EBP-C]
  004DEB56    837D F4 00      CMP DWORD PTR SS:[EBP-C],0
  004DEB5A  ^ 77 AF           JA SHORT 004DEB0B                        ; sm.004DEB0B
  004DEB5C    8B5D F8         MOV EBX,DWORD PTR SS:[EBP-8]
  004DEB5F    833B 00         CMP DWORD PTR DS:[EBX],0
  004DEB62    74 09           JE SHORT 004DEB6D                        ; sm.004DEB6D
  004DEB64    6A 22           PUSH 22
  004DEB66    6A 64           PUSH 64
  004DEB68    E8 600E0000     CALL 004DF9CD                            ; sm.004DF9CD
  004DEB6D    6A 11           PUSH 11
  004DEB6F    E8 2E0D0000     CALL 004DF8A2 ///这个是解密下一行代码的。
  004DEB74    E8 73FDFFFF     CALL 004DE8EC ///这里就是那个异常CALL。
  004DEB79    6A 00           PUSH 0
  004DEB7B    6A 11           PUSH 11
  004DEB7D    E8 9F0D0000     CALL 004DF921                            ; sm.004DF921
  004DEB82    5B              POP EBX
  004DEB83    5E              POP ESI
  004DEB84    E8 02000000     CALL 004DEB8B                            ; sm.004DEB8B
  004DEB89    C9              LEAVE
  004DEB8A    C3              RETN
  
  重新载入程序,不忽略所有异常,运行程序,第一个异常时搜索全部命令XOR DWORD PTR DS:[ESI],372A3425
  
  共搜索到6处,全部下断。然后shift+f9通过异常,直到在XOR DWORD PTR DS:[ESI],372A3425处断下。
  
  第一次断下:
  
  004DE70F    81C6 791D4000   ADD ESI,401D79
  004DE715    B9 1E000000     MOV ECX,1E
  004DE71A    EB 0A           JMP SHORT 004DE726
  004DE71C    8136 25342A37   XOR DWORD PTR DS:[ESI],372A3425///断下。ESI=4DE90C
  004DE722    49              DEC ECX
  004DE723    83C6 04         ADD ESI,4
  004DE726    83F9 00         CMP ECX,0
  004DE729  ^ 77 F1           JA SHORT 004DE71C ///循环
  004DE72B    E8 8B030000     CALL 004DEABB                            ; sm.004DEABB
  004DE730    E8 00000000     CALL 004DE735                            ; sm.004DE735
  004DE735    58              POP EAX
  
  到4DE90C处看看:
  
  004DE8EC    55              PUSH EBP
  004DE8ED    8BEC            MOV EBP,ESP
  004DE8EF    83C4 D4         ADD ESP,-2C
  004DE8F2    56              PUSH ESI
  004DE8F3    57              PUSH EDI
  004DE8F4    53              PUSH EBX
  004DE8F5    E8 36FEFFFF     CALL 004DE730                            ; sm.004DE730
  004DE8FA    8BF0            MOV ESI,EAX
  004DE8FC    8BD8            MOV EBX,EAX
  004DE8FE    2B98 D4000000   SUB EBX,DWORD PTR DS:[EAX+D4]
  004DE904    895D F0         MOV DWORD PTR SS:[EBP-10],EBX
  004DE907    8DBE 08030000   LEA EDI,DWORD PTR DS:[ESI+308]///原来是有意修改代码,使代码不能正常运行。
  004DE90D    C745 DC 0000000>MOV DWORD PTR SS:[EBP-24],0
  004DE914    E9 80010000     JMP 004DEA99                             ; sm.004DEA99
  004DE919    8B17            MOV EDX,DWORD PTR DS:[EDI]
  004DE91B    0BD2            OR EDX,EDX
  
  上面循环结束后,代码:
  
  004DE8EC    55              PUSH EBP
  004DE8ED    8BEC            MOV EBP,ESP
  004DE8EF    83C4 D4         ADD ESP,-2C
  004DE8F2    56              PUSH ESI
  004DE8F3    57              PUSH EDI
  004DE8F4    53              PUSH EBX
  004DE8F5    E8 36FEFFFF     CALL 004DE730                            ; sm.004DE730
  004DE8FA    8BF0            MOV ESI,EAX
  004DE8FC    8BD8            MOV EBX,EAX
  004DE8FE    2B98 D4000000   SUB EBX,DWORD PTR DS:[EAX+D4]
  004DE904    895D F0         MOV DWORD PTR SS:[EBP-10],EBX
  004DE907    8DBE 08030025   LEA EDI,DWORD PTR DS:[ESI+25000308]///被修改了,执行这里时程序出错。
  004DE90D    F3:6F           REP OUTS DX,DWORD PTR ES:[EDI]           ; I/O 命令
  004DE90F    EB 25           JMP SHORT 004DE936                       ; sm.004DE936
  004DE911    34 2A           XOR AL,2A
  004DE913    37              AAA
  004DE914    CC              INT3
  004DE915    B4 2B           MOV AH,2B
  004DE917    37              AAA
  004DE918    25 BF3D3CF7     AND EAX,F73C3DBF
  004DE91D    41              INC ECX
  004DE91E    29BC72 3C2962D5 SUB DWORD PTR DS:[EDX+ESI*2+D562293C],ED>
  
  可见XOR DWORD PTR DS:[ESI],372A3425是有意修改代码,使代码不能正常执行。NOP掉!
  
  第二次断下:
  
  004DF1B1    81C6 591D4000   ADD ESI,401D59
  004DF1B7    B9 1E000000     MOV ECX,1E
  004DF1BC    EB 0A           JMP SHORT 004DF1C8                       ; sm.004DF1C8
  004DF1BE    8136 25342A37   XOR DWORD PTR DS:[ESI],372A3425///断下。ESI=4DE8E3
  004DF1C4    49              DEC ECX
  004DF1C5    83C6 04         ADD ESI,4
  004DF1C8    83F9 00         CMP ECX,0
  004DF1CB  ^ 77 F1           JA SHORT 004DF1BE                        ; sm.004DF1BE
  004DF1CD    EB 6B           JMP SHORT 004DF23A                       ; sm.004DF23A
  004DF1CF    83F8 6E         CMP EAX,6E
  004DF1D2    75 30           JNZ SHORT 004DF204                       ; sm.004DF204
  
  上面循环后,代码:
  
  004DE8EC    61              POPAD///被修改。
  004DE8ED    A1 DBA6F0FE     MOV EAX,DWORD PTR DS:[FEF0A6DB]///这里异常。
  004DE8F2    61              POPAD
  004DE8F3    72 67           JB SHORT 004DE95C                        ; sm.004DE95C
  004DE8F5    C2 01DB         RETN 0DB01
  004DE8F8    CB              RETF                                     ; 远距返回
  004DE8F9    D5 BC           AAD 0BC
  004DE8FB    D5 BF           AAD 0BF
  004DE8FD    F2:             PREFIX REPNE:                            ; 多余的前缀
  
  同样NOP掉!
  
  然后在4DE8EC处下断,断下后往下找到:
  
  004DEA96    83C7 0C         ADD EDI,0C
  004DEA99    833F 00         CMP DWORD PTR DS:[EDI],0
  004DEA9C  ^ 0F85 77FEFFFF   JNZ 004DE919                             ; sm.004DE919
  004DEAA2    837F 04 00      CMP DWORD PTR DS:[EDI+4],0
  004DEAA6  ^ 0F85 6DFEFFFF   JNZ 004DE919                             ; sm.004DE919
  004DEAAC    837F 08 00      CMP DWORD PTR DS:[EDI+8],0
  004DEAB0  ^ 0F85 63FEFFFF   JNZ 004DE919                             ; sm.004DE919
  004DEAB6    5B              POP EBX
  004DEAB7    5F              POP EDI
  004DEAB8    5E              POP ESI
  004DEAB9    C9              LEAVE
  004DEABA    C3              RETN///找到这里,F4下来。
  004DEABB    55              PUSH EBP
  
  
  返回到:
  
  004DEB6D    6A 11           PUSH 11
  004DEB6F    E8 2E0D0000     CALL 004DF8A2                            ; sm.004DF8A2
  004DEB74    E8 73FDFFFF     CALL 004DE8EC///此CALL顺利通过。
  004DEB79    6A 00           PUSH 0///返回到这里。
  004DEB7B    6A 11           PUSH 11
  004DEB7D    E8 9F0D0000     CALL 004DF921///重新加密CALL 004DE8EC
  004DEB82    5B              POP EBX
  004DEB83    5E              POP ESI
  004DEB84    E8 02000000     CALL 004DEB8B///F7
  004DEB89    C9              LEAVE
  004DEB8A    C3              RETN
  004DEB8B    55              PUSH EBP
  004DEB8C    8BEC            MOV EBP,ESP
  004DEB8E    83C4 E4         ADD ESP,-1C
  004DEB91    56              PUSH ESI
  004DEB92    E8 99FBFFFF     CALL 004DE730                            ; sm.004DE730
  004DEB97    8BF0            MOV ESI,EAX
  004DEB99    8BD0            MOV EDX,EAX
  004DEB9B    2B90 D4000000   SUB EDX,DWORD PTR DS:[EAX+D4]
  004DEBA1    8955 F8         MOV DWORD PTR SS:[EBP-8],EDX
  004DEBA4    8B90 E4040000   MOV EDX,DWORD PTR DS:[EAX+4E4]
  004DEBAA    52              PUSH EDX
  004DEBAB    E8 7F0A0000     CALL 004DF62F                            ; sm.004DF62F
  004DEBB0    5A              POP EDX
  004DEBB1    2BC2            SUB EAX,EDX
  004DEBB3    C1E8 0C         SHR EAX,0C
  004DEBB6    0AC0            OR AL,AL
  004DEBB8    74 05           JE SHORT 004DEBBF                        ; sm.004DEBBF
  004DEBBA    8845 E7         MOV BYTE PTR SS:[EBP-19],AL
  004DEBBD    EB 19           JMP SHORT 004DEBD8                       ; sm.004DEBD8
  004DEBBF    B9 03000000     MOV ECX,3
  004DEBC4    C1E8 07         SHR EAX,7
  004DEBC7    49              DEC ECX
  004DEBC8    0AC0            OR AL,AL
  004DEBCA    74 05           JE SHORT 004DEBD1                        ; sm.004DEBD1
  004DEBCC    8845 E7         MOV BYTE PTR SS:[EBP-19],AL
  004DEBCF    EB 07           JMP SHORT 004DEBD8                       ; sm.004DEBD8
  004DEBD1    83F9 00         CMP ECX,0
  004DEBD4    76 02           JBE SHORT 004DEBD8                       ; sm.004DEBD8
  004DEBD6  ^ EB EC           JMP SHORT 004DEBC4                       ; sm.004DEBC4
  004DEBD8    E8 FF060000     CALL 004DF2DC                            ; sm.004DF2DC
  004DEBDD    8946 4C         MOV DWORD PTR DS:[ESI+4C],EAX
  004DEBE0    8B96 D0000000   MOV EDX,DWORD PTR DS:[ESI+D0]
  004DEBE6    8955 FC         MOV DWORD PTR SS:[EBP-4],EDX
  004DEBE9    8975 F4         MOV DWORD PTR SS:[EBP-C],ESI
  004DEBEC    5E              POP ESI
  004DEBED    E8 3D0A0000     CALL 004DF62F                            ; sm.004DF62F
  004DEBF2    83E0 03         AND EAX,3
  004DEBF5    8BD0            MOV EDX,EAX
  004DEBF7    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
  004DEBFA    0BD2            OR EDX,EDX
  004DEBFC    75 08           JNZ SHORT 004DEC06                       ; sm.004DEC06
  004DEBFE    8D80 DC000000   LEA EAX,DWORD PTR DS:[EAX+DC]
  004DEC04    EB 1A           JMP SHORT 004DEC20                       ; sm.004DEC20
  004DEC06    83FA 01         CMP EDX,1
  004DEC09    75 08           JNZ SHORT 004DEC13                       ; sm.004DEC13
  004DEC0B    8D80 F4020000   LEA EAX,DWORD PTR DS:[EAX+2F4]
  004DEC11    EB 0D           JMP SHORT 004DEC20                       ; sm.004DEC20
  004DEC13    83FA 02         CMP EDX,2
  004DEC16    75 05           JNZ SHORT 004DEC1D                       ; sm.004DEC1D
  004DEC18    8D40 58         LEA EAX,DWORD PTR DS:[EAX+58]
  004DEC1B    EB 03           JMP SHORT 004DEC20                       ; sm.004DEC20
  004DEC1D    8D40 18         LEA EAX,DWORD PTR DS:[EAX+18]
  004DEC20    FF70 10         PUSH DWORD PTR DS:[EAX+10]
  004DEC23    8F45 18         POP DWORD PTR SS:[EBP+18]
  004DEC26    FF70 0C         PUSH DWORD PTR DS:[EAX+C]
  004DEC29    8F45 14         POP DWORD PTR SS:[EBP+14]
  004DEC2C    FF70 08         PUSH DWORD PTR DS:[EAX+8]
  004DEC2F    8F45 10         POP DWORD PTR SS:[EBP+10]
  004DEC32    FF70 04         PUSH DWORD PTR DS:[EAX+4]
  004DEC35    8F45 0C         POP DWORD PTR SS:[EBP+C]
  004DEC38    FF30            PUSH DWORD PTR DS:[EAX]
  004DEC3A    8F45 08         POP DWORD PTR SS:[EBP+8]
  004DEC3D    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
  004DEC40    0345 FC         ADD EAX,DWORD PTR SS:[EBP-4]///EAX=4A9ED8  这就是OEP!
  004DEC43    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  004DEC46    68 00020000     PUSH 200
  004DEC4B    E8 8A0A0000     CALL 004DF6DA                            ; sm.004DF6DA
  004DEC50    8945 F0         MOV DWORD PTR SS:[EBP-10],EAX///EAX=12f000 程序将入口代码放到12f000处执行。只要将EAX的值改为4A9ED8,就可以把移走的代码放回原处。
  004DEC53    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
  004DEC56    8D90 F0000000   LEA EDX,DWORD PTR DS:[EAX+F0]
  004DEC5C    8955 EC         MOV DWORD PTR SS:[EBP-14],EDX
  004DEC5F    8B90 F0020000   MOV EDX,DWORD PTR DS:[EAX+2F0]///[EAX+2F0]处保存着stolen code的长度,这里是0xB个字节。
  004DEC65    8955 E8         MOV DWORD PTR SS:[EBP-18],EDX
  004DEC68    837D E8 00      CMP DWORD PTR SS:[EBP-18],0
  004DEC6C    75 05           JNZ SHORT 004DEC73                       ; sm.004DEC73
  004DEC6E    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  004DEC71    EB 35           JMP SHORT 004DECA8                       ; sm.004DECA8
  004DEC73    FF75 E8         PUSH DWORD PTR SS:[EBP-18]
  004DEC76    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
  004DEC79    FF75 F0         PUSH DWORD PTR SS:[EBP-10]
  004DEC7C    E8 960B0000     CALL 004DF817                            ; sm.004DF817
  004DEC81    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]
  004DEC84    0345 E8         ADD EAX,DWORD PTR SS:[EBP-18]
  004DEC87    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
  004DEC8A    0355 E8         ADD EDX,DWORD PTR SS:[EBP-18]
  004DEC8D    B1 3D           MOV CL,3D
  004DEC8F    80F1 55         XOR CL,55
  004DEC92    024D E7         ADD CL,BYTE PTR SS:[EBP-19]
  004DEC95    8808            MOV BYTE PTR DS:[EAX],CL///修改4A9ED8+b处的代码,nop掉!
  004DEC97    8950 01         MOV DWORD PTR DS:[EAX+1],EDX///修改4A9ED8+b+1处的代码,nop掉!
  004DEC9A    B1 B4           MOV CL,0B4
  004DEC9C    80F1 77         XOR CL,77
  004DEC9F    2A4D E7         SUB CL,BYTE PTR SS:[EBP-19]
  004DECA2    8848 05         MOV BYTE PTR DS:[EAX+5],CL///修改4A9ED8+b+1+5处的代码,nop掉!
  004DECA5    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]
  004DECA8    8945 04         MOV DWORD PTR SS:[EBP+4],EAX
  004DECAB    C9              LEAVE
  004DECAC    C3              RETN///返回OEP!
  
  
  返回后:
  
  004A9ED8    55              PUSH EBP///OEP!DUMP下来。
  004A9ED9    8BEC            MOV EBP,ESP
  004A9EDB    83C4 F0         ADD ESP,-10
  004A9EDE    B8 809A4A00     MOV EAX,4A9A80
  004A9EE3    E8 BCC2F5FF     CALL 004061A4                            ; sm.004061A4
  004A9EE8    A1 04C54A00     MOV EAX,DWORD PTR DS:[4AC504]
  004A9EED    8B00            MOV EAX,DWORD PTR DS:[EAX]
  004A9EEF    E8 30FEFCFF     CALL 00479D24                            ; sm.00479D24
  004A9EF4    8B0D F4C54A00   MOV ECX,DWORD PTR DS:[4AC5F4]            ; sm.004B1D34
  004A9EFA    A1 04C54A00     MOV EAX,DWORD PTR DS:[4AC504]
  004A9EFF    8B00            MOV EAX,DWORD PTR DS:[EAX]
  004A9F01    8B15 10504A00   MOV EDX,DWORD PTR DS:[4A5010]            ; sm.004A505C
  004A9F07    E8 30FEFCFF     CALL 00479D3C                            ; sm.00479D3C
  004A9F0C    8B0D C8C54A00   MOV ECX,DWORD PTR DS:[4AC5C8]            ; sm.004AFD1C
  
  这时用ImportREC修复IAT,用追踪1就可以全部找回。
  
--------------------------------------------------------------------------------
【经验总结】
  无。
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年08月09日 16:58:53


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

收藏
免费 7
支持
分享
最新回复 (17)
雪    币: 208
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
坐个沙发,喜欢看未知壳的
2006-8-9 17:07
0
雪    币: 338
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
漂过!
感谢楼主的未知壳的教程!!
2006-8-9 21:43
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持 顶
【作者声明】: 本来想等原帖楼主chinadev的教程的,等了等没见发帖。我就先发了。请chinadev不要见怪

兄弟言重了。只是我用的方法比较邪门,不太好意思放教程
2006-8-9 21:43
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
精华!

问个问题
XOR DWORD PTR DS:[ESI],372A3425
可否称得上特征码?
2006-8-9 21:46
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
6
你搜索能帮助你快速定位就可以算
2006-8-9 21:54
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
7
最初由 forgot 发布
你搜索能帮助你快速定位就可以算


forgot正解:)
2006-8-9 21:58
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
想办法找到壳为何会乱改
2006-8-9 23:46
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
9
最初由 fly 发布
想办法找到壳为何会乱改


曾经找过。但一时找不到,就放弃了。
2006-8-10 08:09
0
雪    币: 255
活跃值: (207)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
原帖东西都删了,没办法来看看了。
2006-8-10 08:19
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
11
我重新发一次吧。
2006-8-10 08:28
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
12
下午我就删了。
2006-8-10 08:29
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
13
请需要的抓紧下。
2006-8-10 08:30
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
最初由 csjwaman 发布
曾经找过。但一时找不到,就放弃了。

无非就是那两下子.
GetTickCount
Process32Next(有插件就挂)
OpenProcess
ReadProcessMemory
lstrcmpiA"EXPLORER.EXE"

004DEFFF    74 0A           je      short 004DF00B

004DF0A9    85C0            test    eax, eax

时间检测不管了。
用WINRAR压一下,在RAR里运行,马上露馅。
2006-8-10 08:43
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
它不是乱改,而是先改了,发现你以后就不改回来了。
2006-8-10 08:46
0
雪    币: 319
活跃值: (2459)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
16
最初由 q3 watcher 发布
无非就是那两下子.
GetTickCount
Process32Next(有插件就挂)
OpenProcess
ReadProcessMemory
........


高!
2006-8-10 08:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看不懂啊,帮你顶顶
2006-8-10 11:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
曾经找到过,但是忽略了
2006-8-11 09:40
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码