首页
社区
课程
招聘
Confusion about tElock 0.98
发表于: 2004-10-5 12:09 4096

Confusion about tElock 0.98

2004-10-5 12:09
4096
tElock外壳中有一段代码在堆栈中存入200h个字节,然后进行奇怪的运算,不知道是干什么的。。。

0101089A    60              PUSHAD
0101089B    8BFC            MOV EDI,ESP
0101089D    81EF 00020000   SUB EDI,200
010108A3    33C0            XOR EAX,EAX
010108A5    AA              STOS BYTE PTR ES:[EDI]
010108A6    FEC0            INC AL
010108A8  ^ 75 FB           JNZ SHORT teNOTEPA.010108A5		;在6FD84(堆栈中)生成00~FF
010108AA    8BFC            MOV EDI,ESP
010108AC    81EF 00010000   SUB EDI,100
010108B2    33DB            XOR EBX,EBX
010108B4    8DB5 F11E0000   LEA ESI,DWORD PTR SS:[EBP+1EF1]
010108BA    B9 10000000     MOV ECX,10
010108BF    A4              MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]	;把一段数据反复存入堆栈区
010108C0    FEC3            INC BL				;存完100h个字节后跳出
010108C2    74 05           JE SHORT teNOTEPA.010108C9
010108C4    49              DEC ECX
010108C5  ^ 75 F8           JNZ SHORT teNOTEPA.010108BF
010108C7  ^ EB EB           JMP SHORT teNOTEPA.010108B4

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

0006FD84   03020100
0006FD88   07060504
0006FD8C   0B0A0908
0006FD90   0F0E0D0C
0006FD94   13121110
0006FD98   17161514
0006FD9C   1B1A1918
0006FDA0   1F1E1D1C
0006FDA4   23222120
0006FDA8   27262524
0006FDAC   2B2A2928
0006FDB0   2F2E2D2C
0006FDB4   33323130
0006FDB8   37363534
0006FDBC   3B3A3938
0006FDC0   3F3E3D3C
0006FDC4   43424140
0006FDC8   47464544
0006FDCC   4B4A4948
0006FDD0   4F4E4D4C
0006FDD4   53525150
0006FDD8   57565554
0006FDDC   5B5A5958
0006FDE0   5F5E5D5C
0006FDE4   63626160
0006FDE8   67666564
0006FDEC   6B6A6968
0006FDF0   6F6E6D6C
0006FDF4   73727170
0006FDF8   77767574
0006FDFC   7B7A7978
0006FE00   7F7E7D7C
0006FE04   83828180
0006FE08   87868584
0006FE0C   8B8A8988
0006FE10   8F8E8D8C
0006FE14   93929190
0006FE18   97969594
0006FE1C   9B9A9998
0006FE20   9F9E9D9C
0006FE24   A3A2A1A0
0006FE28   A7A6A5A4
0006FE2C   ABAAA9A8
0006FE30   AFAEADAC
0006FE34   B3B2B1B0
0006FE38   B7B6B5B4
0006FE3C   BBBAB9B8
0006FE40   BFBEBDBC
0006FE44   C3C2C1C0
0006FE48   C7C6C5C4
0006FE4C   CBCAC9C8
0006FE50   CFCECDCC
0006FE54   D3D2D1D0
0006FE58   D7D6D5D4
0006FE5C   DBDAD9D8
0006FE60   DFDEDDDC
0006FE64   E3E2E1E0
0006FE68   E7E6E5E4
0006FE6C   EBEAE9E8
0006FE70   EFEEEDEC
0006FE74   F3F2F1F0
0006FE78   F7F6F5F4
0006FE7C   FBFAF9F8
0006FE80   FFFEFDFC
0006FE84   F5CDE5A2
0006FE88   8C7ED022
0006FE8C   21A05C56
0006FE90   D9CD5E28
0006FE94   F5CDE5A2
0006FE98   8C7ED022
0006FE9C   21A05C56
0006FEA0   D9CD5E28
0006FEA4   F5CDE5A2
0006FEA8   8C7ED022
0006FEAC   21A05C56
0006FEB0   D9CD5E28
0006FEB4   F5CDE5A2
0006FEB8   8C7ED022
0006FEBC   21A05C56
0006FEC0   D9CD5E28
0006FEC4   F5CDE5A2
0006FEC8   8C7ED022
0006FECC   21A05C56
0006FED0   D9CD5E28
0006FED4   F5CDE5A2
0006FED8   8C7ED022
0006FEDC   21A05C56
0006FEE0   D9CD5E28
0006FEE4   F5CDE5A2
0006FEE8   8C7ED022
0006FEEC   21A05C56
0006FEF0   D9CD5E28
0006FEF4   F5CDE5A2
0006FEF8   8C7ED022
0006FEFC   21A05C56
0006FF00   D9CD5E28
0006FF04   F5CDE5A2
0006FF08   8C7ED022
0006FF0C   21A05C56
0006FF10   D9CD5E28
0006FF14   F5CDE5A2
0006FF18   8C7ED022
0006FF1C   21A05C56
0006FF20   D9CD5E28
0006FF24   F5CDE5A2
0006FF28   8C7ED022
0006FF2C   21A05C56
0006FF30   D9CD5E28
0006FF34   F5CDE5A2
0006FF38   8C7ED022
0006FF3C   21A05C56
0006FF40   D9CD5E28
0006FF44   F5CDE5A2
0006FF48   8C7ED022
0006FF4C   21A05C56
0006FF50   D9CD5E28
0006FF54   F5CDE5A2
0006FF58   8C7ED022
0006FF5C   21A05C56
0006FF60   D9CD5E28
0006FF64   F5CDE5A2
0006FF68   8C7ED022
0006FF6C   21A05C56
0006FF70   D9CD5E28
0006FF74   F5CDE5A2
0006FF78   8C7ED022
0006FF7C   21A05C56
0006FF80   D9CD5E28

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

010108C9    8BFC            MOV EDI,ESP
010108CB    81EF 00020000   SUB EDI,200
010108D1    8BF4            MOV ESI,ESP
010108D3    81EE 00010000   SUB ESI,100
010108D9    33C9            XOR ECX,ECX
010108DB    33C0            XOR EAX,EAX
010108DD    02040F          ADD AL,BYTE PTR DS:[EDI+ECX]
010108E0    02040E          ADD AL,BYTE PTR DS:[ESI+ECX]
010108E3    8A1C07          MOV BL,BYTE PTR DS:[EDI+EAX]
010108E6    8A3C0F          MOV BH,BYTE PTR DS:[EDI+ECX]
010108E9    881C0F          MOV BYTE PTR DS:[EDI+ECX],BL
010108EC    883C07          MOV BYTE PTR DS:[EDI+EAX],BH	;在堆栈中解码
010108EF    FEC1            INC CL				;循环100h次
010108F1  ^ 75 EA           JNZ SHORT teNOTEPA.010108DD


下面还有一段填充数据,也是意图不明。。。
01010A1C    8D9D E11C0000   LEA EBX,DWORD PTR SS:[EBP+1CE1]
01010A22    6A 40           PUSH 40
01010A24    59              POP ECX
01010A25    8033 CC         XOR BYTE PTR DS:[EBX],0CC		;在01011D60起始的40h个字节填充CC
01010A28    43              INC EBX
01010A29  ^ E2 FA           LOOPD SHORT teNOTEPA.01010A25

01010A2B    8D85 E11C0000   LEA EAX,DWORD PTR SS:[EBP+1CE1]
01010A31    33DB            XOR EBX,EBX
01010A33    3818            CMP BYTE PTR DS:[EAX],BL		;前面检查填充的第一个字节
01010A35    74 24           JE SHORT teNOTEPA.01010A5B
01010A37    75 01           JNZ SHORT teNOTEPA.01010A3A

01010A3A    8038 CC         CMP BYTE PTR DS:[EAX],0CC		;检查01011D60处第一个字节是否CC?
01010A3D    74 1C           JE SHORT teNOTEPA.01010A5B

01010A5B    8BF8            MOV EDI,EAX
01010A5D    6A 10           PUSH 10
01010A5F    F7D0            NOT EAX
01010A61    59              POP ECX
01010A62    D3E8            SHR EAX,CL
01010A64    F3:AB           REP STOS DWORD PTR ES:[EDI]		;在01011D60起始的10h个双字填充0000FEFE
01010A66    E8 01000000     CALL teNOTEPA.01010A6C

[课程]Android-CTF解题方法汇总!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
答案就是,它在填充垃圾。
2004-10-8 21:46
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
3
:(
2004-10-8 22:49
0
雪    币: 239
活跃值: (473)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
:D :D :D
2004-10-9 10:24
0
游客
登录 | 注册 方可回帖
返回
//