-
-
[求助]Armadillo 3.78 - 4.xx脱壳最后部分和网上教程不一样
-
发表于: 2012-4-29 17:12 4498
-
PEID查壳Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks
ArmFP查壳为
Protected Armadillo
File Size 2076672
Load file
<-Find Protect
Protection system(Professional)
<Protection Options>
Debug-Blocker
Import Table Elimination
Strategic Code Splicing
Nanomites Processing
<Backup Key Options>
Variable Backup Keys
<Compression Options>
Better/Slower Compression
<Other Options>
<-Find Version
Version 6.24 03-12-2008
<- Elapsed Time 00h 00m 06s 438ms ->
前面步骤
BP OpenMutexA
00401000 60 pushad
00401001 9C pushfd
00401002 68 5CFD1200 push 12FD5C ; ASCII "260::DACAD201C8"
00401007 33C0 xor eax, eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 BFD9407C call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012 - E9 94DA407C jmp kernel32.OpenMutexA
00401017 90 nop
60 9C 68 5C FD 12 00 33 C0 50 50 E8 BF D9 40 7C 9D 61 E9 94 DA 40 7C 90
he GetModuleHandleA+5
这都正常,但是这里ALT+F9返回代码和教程不一样了,返回内容
修改红色部分代码不知道对不对?网上教程都是JE跳转指令
然后再下 bp GetCurrentThreadId,F9后断到这里
然后我按ALT+M,在401000断下内存访问断点,F9运行后,返回无效区域,不知道是什么原因?
ArmFP查壳为
Protected Armadillo
File Size 2076672
Load file
<-Find Protect
Protection system(Professional)
<Protection Options>
Debug-Blocker
Import Table Elimination
Strategic Code Splicing
Nanomites Processing
<Backup Key Options>
Variable Backup Keys
<Compression Options>
Better/Slower Compression
<Other Options>
<-Find Version
Version 6.24 03-12-2008
<- Elapsed Time 00h 00m 06s 438ms ->
前面步骤
BP OpenMutexA
00401000 60 pushad
00401001 9C pushfd
00401002 68 5CFD1200 push 12FD5C ; ASCII "260::DACAD201C8"
00401007 33C0 xor eax, eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 BFD9407C call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012 - E9 94DA407C jmp kernel32.OpenMutexA
00401017 90 nop
60 9C 68 5C FD 12 00 33 C0 50 50 E8 BF D9 40 7C 9D 61 E9 94 DA 40 7C 90
he GetModuleHandleA+5
这都正常,但是这里ALT+F9返回代码和教程不一样了,返回内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | 00E57561 8B55 F4 mov edx, dword ptr [ebp-C] 00E57564 8B0D D4F1ED00 mov ecx, dword ptr [EDF1D4] 00E5756A 890491 mov dword ptr [ecx+edx*4], eax 00E5756D 8B55 F4 mov edx, dword ptr [ebp-C] 00E57570 A1 D4F1ED00 mov eax, dword ptr [EDF1D4] 00E57575 833C90 00 cmp dword ptr [eax+edx*4], 0 00E57579 75 5C jnz short 00E575D7 00E5757B 8B4D F8 mov ecx, dword ptr [ebp-8] 00E5757E 8B51 08 mov edx, dword ptr [ecx+8] 00E57581 83E2 02 and edx, 2 00E57584 74 38 je short 00E575BE 00E57586 B8 07000000 mov eax, 7 00E5758B C1E0 02 shl eax, 2 00E5758E 8B0D 7CCAED00 mov ecx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E57594 8B15 7CCAED00 mov edx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E5759A 8B35 7CCAED00 mov esi, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E575A0 8B5E 24 mov ebx, dword ptr [esi+24] 00E575A3 335A 6C xor ebx, dword ptr [edx+6C] 00E575A6 331C01 xor ebx, dword ptr [ecx+eax] 00E575A9 83E3 10 and ebx, 10 00E575AC F7DB neg ebx 00E575AE 1BDB sbb ebx, ebx 00E575B0 F7DB neg ebx 00E575B2 0FB6C3 movzx eax, bl 00E575B5 85C0 test eax, eax 00E575B7 75 05 jnz short 00E575BE 00E575B9 ^ E9 1BFFFFFF jmp 00E574D9 00E575BE 8D8D C8FEFFFF lea ecx, dword ptr [ebp-138] 00E575C4 51 push ecx 00E575C5 FF15 8830EC00 call dword ptr [EC3088] ; kernel32.LoadLibraryA 00E575CB 8B55 F4 mov edx, dword ptr [ebp-C] 00E575CE 8B0D D4F1ED00 mov ecx, dword ptr [EDF1D4] 00E575D4 890491 mov dword ptr [ecx+edx*4], eax 00E575D7 8B55 F4 mov edx, dword ptr [ebp-C] 00E575DA A1 D4F1ED00 mov eax, dword ptr [EDF1D4] 00E575DF 833C90 00 cmp dword ptr [eax+edx*4], 0 [COLOR= "Red" ]00E575E3 75 05 jnz short 00E575EA ; 我把这里NOP[ /COLOR ] 00E575E5 ^ E9 EFFEFFFF jmp 00E574D9 00E575EA C785 BCFEFFFF 0>mov dword ptr [ebp-144], 0 00E575F4 C785 C0FEFFFF 0>mov dword ptr [ebp-140], 0 00E575FE 8B4D F8 mov ecx, dword ptr [ebp-8] 00E57601 8B51 04 mov edx, dword ptr [ecx+4] 00E57604 8995 C4FEFFFF mov dword ptr [ebp-13C], edx 00E5760A EB 0F jmp short 00E5761B 00E5760C 8B85 C4FEFFFF mov eax, dword ptr [ebp-13C] 00E57612 83C0 0C add eax, 0C 00E57615 8985 C4FEFFFF mov dword ptr [ebp-13C], eax 00E5761B 8B8D C4FEFFFF mov ecx, dword ptr [ebp-13C] 00E57621 8339 00 cmp dword ptr [ecx], 0 00E57624 74 11 je short 00E57637 00E57626 8B95 C0FEFFFF mov edx, dword ptr [ebp-140] 00E5762C 83C2 01 add edx, 1 00E5762F 8995 C0FEFFFF mov dword ptr [ebp-140], edx 00E57635 ^ EB D5 jmp short 00E5760C 00E57637 33C9 xor ecx, ecx 00E57639 8B85 C0FEFFFF mov eax, dword ptr [ebp-140] 00E5763F BA 04000000 mov edx, 4 00E57644 F7E2 mul edx 00E57646 0F90C1 seto cl 00E57649 F7D9 neg ecx 00E5764B 0BC8 or ecx, eax 00E5764D 51 push ecx 00E5764E E8 65440400 call 00E9BAB8 00E57653 83C4 04 add esp, 4 00E57656 8985 7CFDFFFF mov dword ptr [ebp-284], eax 00E5765C 8B45 F4 mov eax, dword ptr [ebp-C] 00E5765F 8B0D CCF1ED00 mov ecx, dword ptr [EDF1CC] 00E57665 8B95 7CFDFFFF mov edx, dword ptr [ebp-284] 00E5766B 891481 mov dword ptr [ecx+eax*4], edx 00E5766E 33C9 xor ecx, ecx 00E57670 8B85 C0FEFFFF mov eax, dword ptr [ebp-140] 00E57676 BA 04000000 mov edx, 4 00E5767B F7E2 mul edx 00E5767D 0F90C1 seto cl 00E57680 F7D9 neg ecx 00E57682 0BC8 or ecx, eax 00E57684 51 push ecx 00E57685 E8 2E440400 call 00E9BAB8 00E5768A 83C4 04 add esp, 4 00E5768D 8985 78FDFFFF mov dword ptr [ebp-288], eax 00E57693 8B45 F4 mov eax, dword ptr [ebp-C] 00E57696 8B0D D0F1ED00 mov ecx, dword ptr [EDF1D0] 00E5769C 8B95 78FDFFFF mov edx, dword ptr [ebp-288] 00E576A2 891481 mov dword ptr [ecx+eax*4], edx 00E576A5 8B45 F8 mov eax, dword ptr [ebp-8] 00E576A8 8B48 04 mov ecx, dword ptr [eax+4] 00E576AB 898D C4FEFFFF mov dword ptr [ebp-13C], ecx 00E576B1 EB 1E jmp short 00E576D1 00E576B3 8B95 C4FEFFFF mov edx, dword ptr [ebp-13C] 00E576B9 83C2 0C add edx, 0C 00E576BC 8995 C4FEFFFF mov dword ptr [ebp-13C], edx 00E576C2 8B85 BCFEFFFF mov eax, dword ptr [ebp-144] 00E576C8 83C0 01 add eax, 1 00E576CB 8985 BCFEFFFF mov dword ptr [ebp-144], eax 00E576D1 8B8D C4FEFFFF mov ecx, dword ptr [ebp-13C] 00E576D7 8339 00 cmp dword ptr [ecx], 0 00E576DA 0F84 47010000 je 00E57827 00E576E0 68 00010000 push 100 00E576E5 8D95 B8FDFFFF lea edx, dword ptr [ebp-248] 00E576EB 52 push edx 00E576EC 8B85 C4FEFFFF mov eax, dword ptr [ebp-13C] 00E576F2 8B08 mov ecx, dword ptr [eax] 00E576F4 51 push ecx 00E576F5 E8 76BAFBFF call 00E13170 00E576FA 83C4 0C add esp, 0C 00E576FD 8B15 7CCAED00 mov edx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E57703 A1 7CCAED00 mov eax, dword ptr [EDCA7C] 00E57708 8B4A 40 mov ecx, dword ptr [edx+40] 00E5770B 3348 24 xor ecx, dword ptr [eax+24] 00E5770E 8B15 7CCAED00 mov edx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E57714 334A 6C xor ecx, dword ptr [edx+6C] 00E57717 A1 7CCAED00 mov eax, dword ptr [EDCA7C] 00E5771C 3348 58 xor ecx, dword ptr [eax+58] 00E5771F 898D 6CFDFFFF mov dword ptr [ebp-294], ecx 00E57725 8D8D B8FDFFFF lea ecx, dword ptr [ebp-248] 00E5772B 51 push ecx 00E5772C 8B55 F4 mov edx, dword ptr [ebp-C] 00E5772F A1 D4F1ED00 mov eax, dword ptr [EDF1D4] 00E57734 8B0C90 mov ecx, dword ptr [eax+edx*4] 00E57737 51 push ecx 00E57738 FF15 2432EC00 call dword ptr [EC3224] ; kernel32.GetProcAddress 00E5773E 3385 6CFDFFFF xor eax, dword ptr [ebp-294] 00E57744 8B55 F4 mov edx, dword ptr [ebp-C] 00E57747 8B0D CCF1ED00 mov ecx, dword ptr [EDF1CC] 00E5774D 8B1491 mov edx, dword ptr [ecx+edx*4] 00E57750 8B8D BCFEFFFF mov ecx, dword ptr [ebp-144] 00E57756 89048A mov dword ptr [edx+ecx*4], eax 00E57759 6A 01 push 1 00E5775B 8D95 B8FDFFFF lea edx, dword ptr [ebp-248] 00E57761 52 push edx 00E57762 8B45 F4 mov eax, dword ptr [ebp-C] 00E57765 8B0D D4F1ED00 mov ecx, dword ptr [EDF1D4] 00E5776B 8B1481 mov edx, dword ptr [ecx+eax*4] 00E5776E 52 push edx 00E5776F E8 3C0A0000 call 00E581B0 00E57774 83C4 0C add esp, 0C 00E57777 8B4D F4 mov ecx, dword ptr [ebp-C] 00E5777A 8B15 D0F1ED00 mov edx, dword ptr [EDF1D0] 00E57780 8B0C8A mov ecx, dword ptr [edx+ecx*4] 00E57783 8B95 BCFEFFFF mov edx, dword ptr [ebp-144] 00E57789 890491 mov dword ptr [ecx+edx*4], eax 00E5778C 8B45 F4 mov eax, dword ptr [ebp-C] 00E5778F 8B0D D0F1ED00 mov ecx, dword ptr [EDF1D0] 00E57795 8B1481 mov edx, dword ptr [ecx+eax*4] 00E57798 8B85 BCFEFFFF mov eax, dword ptr [ebp-144] 00E5779E 833C82 00 cmp dword ptr [edx+eax*4], 0 00E577A2 75 32 jnz short 00E577D6 00E577A4 6A 00 push 0 00E577A6 8D8D B8FDFFFF lea ecx, dword ptr [ebp-248] 00E577AC 51 push ecx 00E577AD 8B55 F4 mov edx, dword ptr [ebp-C] 00E577B0 A1 D4F1ED00 mov eax, dword ptr [EDF1D4] 00E577B5 8B0C90 mov ecx, dword ptr [eax+edx*4] 00E577B8 51 push ecx 00E577B9 E8 F2090000 call 00E581B0 00E577BE 83C4 0C add esp, 0C 00E577C1 8B55 F4 mov edx, dword ptr [ebp-C] 00E577C4 8B0D D0F1ED00 mov ecx, dword ptr [EDF1D0] 00E577CA 8B1491 mov edx, dword ptr [ecx+edx*4] 00E577CD 8B8D BCFEFFFF mov ecx, dword ptr [ebp-144] 00E577D3 89048A mov dword ptr [edx+ecx*4], eax 00E577D6 8B55 F4 mov edx, dword ptr [ebp-C] 00E577D9 A1 D0F1ED00 mov eax, dword ptr [EDF1D0] 00E577DE 8B0C90 mov ecx, dword ptr [eax+edx*4] 00E577E1 8B15 7CCAED00 mov edx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E577E7 A1 7CCAED00 mov eax, dword ptr [EDCA7C] 00E577EC 8B35 7CCAED00 mov esi, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E577F2 8B3D 7CCAED00 mov edi, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E577F8 8B7F 40 mov edi, dword ptr [edi+40] 00E577FB 337E 24 xor edi, dword ptr [esi+24] 00E577FE 3378 6C xor edi, dword ptr [eax+6C] 00E57801 337A 58 xor edi, dword ptr [edx+58] 00E57804 8B95 BCFEFFFF mov edx, dword ptr [ebp-144] 00E5780A 333C91 xor edi, dword ptr [ecx+edx*4] 00E5780D 8B45 F4 mov eax, dword ptr [ebp-C] 00E57810 8B0D D0F1ED00 mov ecx, dword ptr [EDF1D0] 00E57816 8B1481 mov edx, dword ptr [ecx+eax*4] 00E57819 8B85 BCFEFFFF mov eax, dword ptr [ebp-144] 00E5781F 893C82 mov dword ptr [edx+eax*4], edi 00E57822 ^ E9 8CFEFFFF jmp 00E576B3 00E57827 8B0D 7CCAED00 mov ecx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E5782D 8B15 7CCAED00 mov edx, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E57833 A1 7CCAED00 mov eax, dword ptr [EDCA7C] 00E57838 8B35 7CCAED00 mov esi, dword ptr [EDCA7C] ; OpenNetM.005D1938 00E5783E 8B76 5C mov esi, dword ptr [esi+5C] 00E57841 3370 6C xor esi, dword ptr [eax+6C] 00E57844 3372 7C xor esi, dword ptr [edx+7C] 00E57847 3371 18 xor esi, dword ptr [ecx+18] 00E5784A 8B4D F4 mov ecx, dword ptr [ebp-C] 00E5784D 8B15 D4F1ED00 mov edx, dword ptr [EDF1D4] 00E57853 33348A xor esi, dword ptr [edx+ecx*4] 00E57856 8B45 F4 mov eax, dword ptr [ebp-C] 00E57859 8B0D D4F1ED00 mov ecx, dword ptr [EDF1D4] 00E5785F 893481 mov dword ptr [ecx+eax*4], esi 00E57862 ^ E9 72FCFFFF jmp 00E574D9 00E57867 EB 03 jmp short 00E5786C ; 这里下断,F9 00E57869 D6 salc 00E5786A D6 salc |
修改红色部分代码不知道对不对?网上教程都是JE跳转指令
然后再下 bp GetCurrentThreadId,F9后断到这里
1 2 3 | 7C8097B8 > 64:A1 18000000 mov eax, dword ptr fs:[18] 7C8097BE 8B40 24 mov eax, dword ptr [eax+24] 7C8097C1 C3 retn |
然后我按ALT+M,在401000断下内存访问断点,F9运行后,返回无效区域,不知道是什么原因?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
赞赏
雪币:
留言: