int __stdcall sub(int)
sub proc near
var_4= dword ptr -4
arg_0= dword ptr 4
00000000: 51 PUSH ECX
00000001: 8B4424 08 MOV EAX,[ESP+4+arg_0]
00000005: 55 PUSH EBP
00000006: 8B68 04 MOV EBP,[EAX+4]
00000009: 8B50 08 MOV EDX,[EAX+8]
0000000C: 2BD5 SUB EDX,EBP
0000000E: 895424 04 MOV [ESP+8+var_4],EDX
00000012: BA 00000000 MOV EDX,0
00000017: 74 7A JE SHORT 00000093h
00000019: 53 PUSH EBX
0000001A: 56 PUSH ESI
0000001B: 57 PUSH EDI
0000001C: 8A99 08010000 MOV BL,[ECX+108h]
00000022: FEC3 INC BL
00000024: 8899 08010000 MOV [ECX+108h],BL
0000002A: 81E3 FF000000 AND EBX,FF
00000030: 8A440B 08 MOV AL,[EBX+ECX+8]
00000034: 8D740B 08 LEA ESI,[EBX+ECX+8]
00000038: 8A99 09010000 MOV BL,[ECX+109h]
0000003E: 02D8 ADD BL,AL
00000040: 8899 09010000 MOV [ECX+109h],BL
00000046: 81E3 FF000000 AND EBX,FF
0000004C: 8A440B 08 MOV AL,[EBX+ECX+8]
00000050: 8D7C0B 08 LEA EDI,[EBX+ECX+8]
00000054: 8A1E MOV BL,[ESI]
00000056: 8806 MOV [ESI],AL
00000058: 33C0 XOR EAX,EAX
0000005A: 881F MOV [EDI],BL
0000005C: 8A81 09010000 MOV AL,[ECX+109h]
00000062: 33DB XOR EBX,EBX
00000064: 8A99 08010000 MOV BL,[ECX+108h]
0000006A: 8A4408 08 MOV AL,[EAX+ECX+8]
0000006E: 02440B 08 ADD AL,[EBX+ECX+8]
00000072: 8A1C2A MOV BL,[EDX+EBP]
00000075: 25 FF000000 AND EAX,FF
0000007A: 8A4408 08 MOV AL,[EAX+ECX+8]
0000007E: 32D8 XOR BL,AL
00000080: 8B4424 10 MOV EAX,[ESP+14h+var_4]
00000084: 881C2A MOV [EDX+EBP],BL
00000087: 42 INC EDX
00000088: 3BD0 CMP EDX,EAX
0000008A: 72 90 JB SHORT 0000001C
0000008C: 8B4424 18 MOV EAX,[ESP+14h+arg_0]
00000090: 5F POP EDI
00000091: 5E POP ESI
00000092: 5B POP EBX
00000093: 5D POP EBP
00000094: 59 POP ECX
00000095: C2 0400 RETN 4
我是一个新手,刚刚接触逆向,上面反汇编中,19h--7Eh之间的算法逆不清楚,希望各位前辈们能给予帮助,谢谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)