能力值:
( LV8,RANK:130 )
|
-
-
26 楼
我来注释:
name:ccbszhxd
sn:001002003004005
00427B59 MOV DWORD PTR FS:[EAX], ESP ; FS段[0]=0x12FAF8;
00427B5C LEA EDX, DWORD PTR SS:[EBP-4] ; EDX=0x12FB0C;//EDX=EBP-4
00427B5F MOV EAX, DWORD PTR DS:[EBX+1DC] ; EAX=0xCA5D54;//DS段[CA3E1C];
00427B65 CALL 00415D90 ; 00415D90
00427B6A MOV EAX, DWORD PTR SS:[EBP-4] ; EAX=0xCA6560;//SS段[12FB0C]; (字符串"ccbszhxd")
00427B6D CALL 004037B0 ; 004037B0
00427B72 DEC EAX ; EAX=(0x8)--; //减1
00427B73 JL SHORT 00427BA5 ; 不跳 //ZF=0,当比较结果是小于时,才跳
00427B75 LEA EDX, DWORD PTR SS:[EBP-4] ; EDX=0x12FB0C;//EDX=EBP-4 (字符串"`e")
00427B78 MOV EAX, DWORD PTR DS:[EBX+1EC] ; EAX=0xCA63D8;//DS段[CA3E2C];
00427B7E CALL 00415D90 ; 00415D90
00427B83 MOV EAX, DWORD PTR SS:[EBP-4] ; EAX=0xCA6578;//SS段[12FB0C]; (字符串"001002003004005")
00427B86 PUSH EAX ; 0xCA6578进栈;//EAX ("001002003004005")
00427B87 LEA EDX, DWORD PTR SS:[EBP-8] ; EDX=0x12FB08;//EDX=EBP-8
00427B8A MOV EAX, DWORD PTR DS:[EBX+1DC] ; EAX=0xCA5D54;//DS段[CA3E1C];
00427B90 CALL 00415D90 ; 00415D90
00427B95 MOV EAX, DWORD PTR SS:[EBP-8] ; EAX=0xCA6560;//SS段[12FB08]; (字符串"ccbszhxd")
00427B98 POP EDX ; EDX=0xCA6578; //出栈到EDX ("001002003004005")
00427B99 CALL 00427A20 ; 00427A20
00427B9E CMP EAX, 0BC614E ; ZF=0;//EAX=0x12d691
00427BA3 JGE SHORT 00427BC3 ; 不跳就是失败
//CALL 00427A20
00427A20 PUSH EBP ; 0x12FB10进栈;//EBP
00427A21 MOV EBP, ESP ; EBP=0x12FAF0;//EBP=ESP
00427A23 ADD ESP, -10 ; 在栈中增加空间,大小为10字节(如EAX为双字,4字节)
00427A26 PUSH EBX ; 0xCA3C40进栈;//EBX
00427A27 PUSH ESI ; 0xCA6040进栈;//ESI
00427A28 XOR ECX, ECX ; ECX=0,CF=0;//自身xor运算结果为0,CF=0
00427A2A MOV DWORD PTR SS:[EBP-10], ECX ; SS段[12FAE0]=0x0;
00427A2D MOV DWORD PTR SS:[EBP-C], ECX ; SS段[12FAE4]=0x0;
00427A30 MOV DWORD PTR SS:[EBP-8], EDX ; SS段[12FAE8]=0xCA6578;
00427A33 MOV DWORD PTR SS:[EBP-4], EAX ; SS段[12FAEC]=0xCA6560;
00427A36 MOV EAX, DWORD PTR SS:[EBP-4] ; EAX=0xCA6560;//SS段[12FAEC]; (字符串"ccbszhxd")
00427A39 CALL 00403964 ; 00403964
00427A3E MOV EAX, DWORD PTR SS:[EBP-8] ; EAX=0xCA6578;//SS段[12FAE8]; (字符串"001002003004005")
00427A41 CALL 00403964 ; 00403964
00427A46 XOR EAX, EAX ; EAX=0,CF=0;//自身xor运算结果为0,CF=0
00427A48 PUSH EBP ; 0x12FAF0进栈;//EBP
00427A49 PUSH 427B2A ; 0x427B2A进栈
00427A4E PUSH DWORD PTR FS:[EAX] ; SEH异常处理
00427A51 MOV DWORD PTR FS:[EAX], ESP ; FS段[0]=0x12FACC;
00427A54 XOR EBX, EBX ; EBX=0,CF=0;//自身xor运算结果为0,CF=0
00427A56 MOV EAX, DWORD PTR SS:[EBP-4] ; EAX=0xCA6560;//SS段[12FAEC]; (字符串"ccbszhxd")
00427A59 CALL 004037B0 ; 004037B0
00427A5E MOV ESI, EAX ; ESI=0x8;//ESI=EAX
00427A60 TEST ESI, ESI ; ZF=0;//ESI=0x8;ESI自身TEST运算时,ESI为0则ZF=1;否则ZF=0
00427A62 JLE SHORT 00427AA0 ; 不跳 //ZF=0;当比较结果是小于或等于时,才跳
00427A64 MOV EAX, 1 ; EAX=0x1
00427A69 /MOV EDX, EAX ; EDX=0x2;//EDX=EAX
00427A6B |MOV ECX, DWORD PTR SS:[EBP-4] ; ECX=0xCA6560;//SS段[12FAEC]; (字符串"ccbszhxd")
00427A6E |MOVZX ECX, BYTE PTR DS:[ECX+EDX-1] ; ECX=0x63; ('c')//DS段[CA6560]; ("ccbszhxd")
00427A73 |ADD EBX, ECX ; EBX=0x63;//EBX=EBX+ECX;
00427A75 |JNO SHORT 00427A7C ; 跳到00427A7C //结果超出表示范围及OF=0时
00427A77 |CALL 00402A30 ; 00402A30
00427A7C |SHL EBX, 8 ; EBX=0x6300;//SHL EBX<<0x8 移出的数据进入标志位CF
00427A7F |MOV ECX, DWORD PTR DS:[428880] ; ECX=0x4279FC;//DS段[428880]; (字符串"LANNYDIBANDINGINANAKEKHYANGNGENTOT")
00427A85 |MOVZX EDX, BYTE PTR DS:[ECX+EDX-1] ; EDX=0x4c; ('L')//DS段[4279FC]; ("LANNYDIBANDINGINANAKEKHYANGNGENTOT")
00427A8A |OR EBX, EDX ; EBX=0x634C;//EBX=EBX|EDX
00427A8C |TEST EBX, EBX ; ZF=0;//EBX=0x634C;EBX自身TEST运算时,EBX为0则ZF=1;否则ZF=0
00427A8E |JGE SHORT 00427A9C ; 跳到00427A9C //ZF=1,SF=OF
00427A90 |IMUL EDX, EBX, -1
00427A93 |JNO SHORT 00427A9A ; 00427A9A
00427A95 |CALL 00402A30 ; 00402A30
00427A9A |MOV EBX, EDX
00427A9C |INC EAX ; EAX=(0x1)++
00427A9D |DEC ESI ; ESI=(0x8)--; //减1
00427A9E \JNZ SHORT 00427A69 ; 跳到00427A69 //ZF=0
00427AA0 XOR EBX, 12345678 ; EBX=0x2C7704C6;//EBX=0x3E4352BE^0x12345678
00427AA6 LEA EDX, DWORD PTR SS:[EBP-10] ; EDX=0x12FAE0;//EDX=EBP-10
00427AA9 MOV EAX, EBX ; EAX=0x2C7704C6;//EAX=EBX
00427AAB CALL 004063F4 ; 004063F4
00427AB0 MOV EAX, DWORD PTR SS:[EBP-10] ; EAX=0xCA6594;//SS段[12FAE0]; (字符串"745997510")
00427AB3 CALL 004037B0 ; 004037B0
00427AB8 MOV ESI, EAX ; ESI=0x9;//ESI=EAX
00427ABA TEST ESI, ESI ; ZF=0;//ESI=0x9;ESI自身TEST运算时,ESI为0则ZF=1;否则ZF=0
00427ABC JLE SHORT 00427AF6 ; 不跳 //ZF=0;当比较结果是小于或等于时,才跳
00427ABE /MOV EAX, EBX ; EAX=0x2C7704C6;//EAX=EBX
00427AC0 |MOV ECX, 0A ; ECX=0xA
00427AC5 |CDQ ; 将EAX中的最高位符号扩展到EDX中
00427AC6 |IDIV ECX ; EAX=0x4724D47;EDX=0x0; //除法运算,商在EAX中,余数在EDX中
00427AC8 |BOUND EDX, QWORD PTR DS:[427B3C]
00427ACE |MOV DL, BYTE PTR DS:[EDX+428884] ; DL=0x0;//DS段[429754];
00427AD4 |LEA EAX, DWORD PTR SS:[EBP-10] ; EAX=0x12FAE0;//EAX=EBP-10
00427AD7 |CALL 004036D8 ; 004036D8
00427ADC |MOV EDX, DWORD PTR SS:[EBP-10] ; EDX=0xCA65AC;//SS段[12FAE0]; (字符串"L")
00427ADF |LEA EAX, DWORD PTR SS:[EBP-C] ; EAX=0x12FAE4;//EAX=EBP-C
00427AE2 |CALL 004037B8 ; 004037B8
00427AE7 |MOV EAX, EBX ; EAX=0x2C7704C6;//EAX=EBX
00427AE9 |MOV ECX, 0A ; ECX=0xA
00427AEE |CDQ ; 将EAX中的最高位符号扩展到EDX中
00427AEF |IDIV ECX ; EAX=0x4724D47;EDX=0x0; //除法运算,商在EAX中,余数在EDX中
00427AF1 |MOV EBX, EAX ; EBX=0x4724D47;//EBX=EAX
00427AF3 |DEC ESI ; ESI=(0x9)--; //减1
00427AF4 \JNZ SHORT 00427ABE ; 跳到00427ABE //ZF=0
00427AF6 MOV EAX, DWORD PTR SS:[EBP-C] ; EAX=0xCA65CC;//SS段[12FAE4]; (字符串"LA54555Y4")
00427AF9 MOV EDX, DWORD PTR SS:[EBP-8] ; EDX=0xCA6578;//SS段[12FAE8]; (字符串"001002003004005")
00427AFC CALL 004038C0 ; 004038C0
00427B01 JNZ SHORT 00427B0A ; 跳到00427B0A //ZF=0
00427B03 MOV EBX, 0BC614E
00427B08 JMP SHORT 00427B0F ; 00427B0F
00427B0A MOV EBX, 12D691 ; EBX=0x12D691
00427B0F XOR EAX, EAX ; EAX=0,CF=0;//自身xor运算结果为0,CF=0
00427B11 POP EDX ; EDX=0x12FAF8; //出栈到EDX
00427B12 POP ECX ; ECX=0x427B2A; //出栈到ECX
00427B13 POP ECX ; ECX=0x12FAF0; //出栈到ECX
00427B14 MOV DWORD PTR FS:[EAX], EDX ; FS段[0]=0x12FAF8;
00427B17 PUSH 427B31 ; 0x427B31进栈 (字符串"嬅^[嬪]?)
00427B1C LEA EAX, DWORD PTR SS:[EBP-10] ; EAX=0x12FAE0;//EAX=EBP-10
00427B1F MOV EDX, 4 ; EDX=0x4
00427B24 CALL 00403558 ; 00403558
00427B29 RETN ; ____函数返回处____retn
|