这是一个nSPack 2.2 -> North Star壳. 我先看了下静态的数据;
00000000 4D 5A 40 00 01 00 00 00 02 00 00 00 FF FF 00 00 MZ@...........
00000010 00 02 00 00 00 00 00 00 40 00 00 E9 9D 2A 08 00 ........@..闈*..
00000020 B4 09 BA 0B 01 CD 21 B4 4C CD 21 70 61 63 6B 65 ??.?碙?packe
00000030 64 20 62 79 20 6E 73 70 61 63 6B 24 40 00 00 00 d by nspack$@...
00000040 50 45 00 00 4C 01 02 00 37 92 1D 42 5B 63 6C 69 PE..L...7?B[cli
00000050 64 65 45 5D E0 00 0F 01 0B 01 06 00 00 00 00 00 deE]?..........
00000060 00 70 02 00 00 10 08 00 1B 10 00 00 00 10 00 00 .p..............
00000070 00 20 08 00 00 00 40 00 00 10 00 00 00 02 00 00 . ....@.........
00000080 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ................
00000090 D3 AA 0A 00 00 04 00 00 25 DC 02 00 02 00 00 00 营......%?.....
000000A0 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00 ................
000000B0 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ................
000000C0 D0 37 08 00 18 01 00 00 00 20 08 00 A8 16 00 00 ?....... ..?..
000000D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000130 00 00 00 00 00 00 00 00 4C 6F 76 65 40 59 54 00 ........Love@YT.
00000140 00 10 08 00 00 10 00 00 F2 00 00 00 48 01 00 00 ........?..H...
00000150 00 00 00 00 00 00 00 00 00 00 00 00 C0 00 00 E0 ............?.?
00000160 61 73 70 61 63 6B 31 00 D3 8A 02 00 00 20 08 00 aspack1.訆... ..
00000170 32 6E 02 00 00 02 00 00 00 00 00 00 00 00 00 00 2n..............
入口地址为0000101B+004000000
地址00000090 处 定义第一个节的文件偏移为400
地址00000140 处 定义将文件偏移地址00000148以F2字节对齐映射到虚拟偏移00001000
地址 00000160
00000170 处将文件偏移200映射到虚拟偏移00082000处
由于入口地址是0040101B 貌似只有文件偏移00000148 处的数据映射到了入口地址 ,疑问的是可这里是节表数据,怎么能运行?
用OD载入 来到壳入口地址 第一句就是E9 9D2A0800 JMP xxxx.00483ABD
跳到第2个节映射的数据地址去了. 可我在静态数据里文件偏移00000148 +1B附近没有看到类似
E9 9D2A0800 的可执行的数据.
用这样的方法看没加过壳的程序能很清晰的看出程序流程,请高手指点其中的秘密!
不胜感激!
[培训]科锐逆向工程师培训第53期2025年7月8日开班!