一个新手CM 算法的分析
本帖最后由 crack5 于 2020-2-27 18:37 编辑闲的无聊 看到论坛有个新手CM 比较适合小菜的https://www.52pojie.cn/forum.php ... &page=1#pid30252772]传送门
没有技术含量 大佬绕过写给小白看的
就来逆一下算法
直接丢进OD 看一下有没有关键代码
发现关键字符串
00404771|. /74 09 JE SHORT CM.0040477C
00404773|. |53 PUSH EBX
00404774|. |E8 4C4B0000 CALL CM.004092C5
00404779|. |83C4 04 ADD ESP, 0x4
0040477C|> \BB 06000000 MOV EBX, 0x6
00404781|.E8 7CCCFFFF CALL CM.00401402
00404786|.68 01030080 PUSH 0x80000301
0040478B|.6A 00 PUSH 0x0
0040478D|.68 00000000 PUSH 0x0
00404792|.68 04000080 PUSH 0x80000004
00404797|.6A 00 PUSH 0x0
00404799|.68 60324A00 PUSH CM.004A3260 ;感觉大佬您99%破解成功了!见证结果吧
0040479E|.68 04000000 PUSH 0x4
004047A3|.BB D0AC4000 MOV EBX, CM.0040ACD0
004047A8|.E8 244B0000 CALL CM.004092D1
004047AD|.83C4 34 ADD ESP, 0x34
004047B0|.68 04000080 PUSH 0x80000004
004047B5|.6A 00 PUSH 0x0
004047B7|.68 57324A00 PUSH CM.004A3257 ;C:\1.ini
004047BC|.68 01000000 PUSH 0x1
004047C1|.BB 70A74000 MOV EBX, CM.0040A770
004047C6|.E8 064B0000 CALL CM.004092D1
同时 也发现了 一些检测OD的关键词
004015F7 PUSH CM.004A2FA4 plugin
004016A6 PUSH CM.004A2FAC \??\
00401771 PUSH CM.004A2FA4 plugin
00401851 PUSH CM.004A2FB9 Ollydbg.exe
004018C0 PUSH CM.004A2FB9 Ollydbg.exe
00401908 PUSH CM.004A2FC5 StrongOD.dll
00401977 PUSH CM.004A2FC5 StrongOD.dll
00402208 PUSH CM.004A2FFA \
0040229E PUSH CM.004A2FFA \
004024A7 PUSH CM.004A2FFC .fengyue
004024E6 MOV EAX, CM.004A3005 *.*
0040290F PUSH CM.004A2FFA \
00402947 PUSH CM.004A2FFA \
00402DAD MOV EAX, CM.004A3243 Breakpoints
找到头部 Ret即可
004014F8 C3 RETN
00402C4C C3 RETN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
找到关键字符串的头部下段
0040435F/.55 PUSH EBP
00404360|.8BEC MOV EBP, ESP
00404362|.81EC 34000000SUB ESP, 0x34
00404368|.E8 81070000 CALL CM.00404AEE
0040436D|.8945 FC MOV , EAX
00404370|.68 04000080 PUSH 0x80000004
00404375|.6A 00 PUSH 0x0
00404377|.8B45 FC MOV EAX,
0040437A|.85C0 TEST EAX, EAX
0040437C|.75 05 JNZ SHORT CM.00404383
0040437E|.B8 AB2F4A00 MOV EAX, CM.004A2FAB
00404383|>50 PUSH EAX
00404384|.68 01000000 PUSH 0x1
00404389|.BB 00A14000 MOV EBX, CM.0040A100
0040438E|.E8 3E4F0000 CALL CM.004092D1
00404393|.83C4 10 ADD ESP, 0x10
00404396|.8945 F8 MOV , EAX
00404399|.8B5D FC MOV EBX,
0040439C|.85DB TEST EBX, EBX
0040439E|.74 09 JE SHORT CM.004043A9
发现还没输入代码就断下了 取消断点运行起来
可以发现是通过时钟或线程循环等去判断是否输入成功
随便输入几个数字 去下段分析
分割线------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
取了一次主机名
继续F8 往下执行
走到这个CALL 发现有BASE64 编码
CALL 0040567A
继续往下走
004043F5|.E8 CB4E0000 CALL CM.004092C5
004043FA|.83C4 04 ADD ESP, 0x4
004043FD|>6A FF PUSH -0x1
004043FF|.6A 08 PUSH 0x8
00404401|.68 332A0116 PUSH 0x16012A33
00404406|.68 01000152 PUSH 0x52010001
0040440B|.E8 D94E0000 CALL CM.004092E9 ;取编辑框1的内容
00404410|.83C4 10 ADD ESP, 0x10
00404413|.8945 E8 MOV , EAX
00404416|.8B45 EC MOV EAX,
00404419|.50 PUSH EAX
0040441A|.FF75 E8 PUSH
0040441D|.E8 79E3FFFF CALL CM.0040279B ;字符串对比 编辑框和 Base编码后的结果
00404422|.83C4 08 ADD ESP, 0x8
00404425|.83F8 00 CMP EAX, 0x0
00404428|.B8 00000000 MOV EAX, 0x0
0040442D|.0F94C0 SETE AL
00404430|.8945 E4 MOV , EAX
00404433|.8B5D E8 MOV EBX,
00404436|.85DB TEST EBX, EBX
00404438|.74 09 JE SHORT CM.00404443
0040443A|.53 PUSH EBX
0040443B|.E8 854E0000 CALL CM.004092C5 ;释放内存
00404440|.83C4 04 ADD ESP, 0x4
00404443|>8B5D EC MOV EBX,
00404446|.85DB TEST EBX, EBX
00404448|.74 09 JE SHORT CM.00404453
0040444A|.53 PUSH EBX
0040444B|.E8 754E0000 CALL CM.004092C5 ;释放内存
00404450|.83C4 04 ADD ESP, 0x4
00404453|>837D E4 00 CMP , 0x0 ;判断刚才的文本是否匹配 如果不匹配则 返回 匹配则往下执行
00404457|.0F84 8D060000JE CM.00404AEA ;NOP 后继续往下走
继续分析
00404457 90 NOP ;NOP 后继续往下走
00404458 90 NOP
00404459 90 NOP
0040445A 90 NOP
0040445B 90 NOP
0040445C 90 NOP
0040445D|.E8 8C060000 CALL CM.00404AEE ;取主机名 DESKTOP-A6KLF5G
00404462|.8945 FC MOV , EAX
00404465|.C745 F8 000000>MOV , 0x0
0040446C|.6A 00 PUSH 0x0 ; /Arg2 = 00000000
0040446E|.8D45 F8 LEA EAX, ; |
00404471|.50 PUSH EAX ; |Arg1
00404472|.E8 231E0000 CALL CM.0040629A ; \取MAC E8:03:9A:35:2B:ED
00404477|.8945 F4 MOV , EAX
0040447A|.8B5D F8 MOV EBX,
0040447D|.85DB TEST EBX, EBX
0040447F|.74 09 JE SHORT CM.0040448A
00404481|.53 PUSH EBX
00404482|.E8 3E4E0000 CALL <CM."free">
00404487|.83C4 04 ADD ESP, 0x4
0040448A|>FF75 F4 PUSH ; /Arg2
0040448D|.FF75 FC PUSH ; |Arg1
00404490|.B9 02000000 MOV ECX, 0x2 ; |
00404495|.E8 02D0FFFF CALL CM.0040149C ; \文本相加
0040449A|.83C4 08 ADD ESP, 0x8 ;结果 DESKTOP-A6KLF5GE8:03:9A:35:2B:ED
0040449D|.8945 F0 MOV , EAX
004044A0|.8B5D FC MOV EBX,
004044A3|.85DB TEST EBX, EBX
004044A5|.74 09 JE SHORT CM.004044B0
004044A7|.53 PUSH EBX
004044A8|.E8 184E0000 CALL <CM."free"> ;释放内存
004044AD|.83C4 04 ADD ESP, 0x4
004044B0|>8B5D F4 MOV EBX,
004044B3|.85DB TEST EBX, EBX
004044B5|.74 09 JE SHORT CM.004044C0
004044B7|.53 PUSH EBX
004044B8|.E8 084E0000 CALL <CM."free"> ;释放内存
004044BD|.83C4 04 ADD ESP, 0x4
004044C0|>68 04000080 PUSH 0x80000004
004044C5|.6A 00 PUSH 0x0
004044C7|.8B45 F0 MOV EAX,
004044CA|.85C0 TEST EAX, EAX
004044CC|.75 05 JNZ SHORT CM.004044D3
004044CE|.B8 AB2F4A00 MOV EAX, CM.004A2FAB
004044D3|>50 PUSH EAX
004044D4|.68 01000000 PUSH 0x1
004044D9|.BB 00A14000 MOV EBX, CM.0040A100
004044DE|.E8 EE4D0000 CALL CM.004092D1
004044E3|.83C4 10 ADD ESP, 0x10
004044E6|.8945 EC MOV , EAX
004044E9|.8B5D F0 MOV EBX,
004044EC|.85DB TEST EBX, EBX
004044EE|.74 09 JE SHORT CM.004044F9
004044F0|.53 PUSH EBX
004044F1|.E8 CF4D0000 CALL <CM."free">
004044F6|.83C4 04 ADD ESP, 0x4
004044F9|>B8 4F324A00 MOV EAX, CM.004A324F ;luochen
004044FE|.8945 E8 MOV , EAX
00404501|.8D45 E8 LEA EAX,
00404504|.50 PUSH EAX ; /Arg2
00404505|.8D45 EC LEA EAX, ; |
00404508|.50 PUSH EAX ; |Arg1
00404509|.E8 0A060000 CALL CM.00404B18 ; \未知
0040450E|.8945 E4 MOV , EAX
00404511|.8B5D EC MOV EBX,
00404514|.85DB TEST EBX, EBX
00404516|.74 09 JE SHORT CM.00404521
00404518|.53 PUSH EBX
00404519|.E8 A74D0000 CALL <CM."free">
0040451E|.83C4 04 ADD ESP, 0x4
00404521|>8B5D E8 MOV EBX,
00404524|.85DB TEST EBX, EBX
00404526|.74 09 JE SHORT CM.00404531
00404528|.53 PUSH EBX
00404529|.E8 974D0000 CALL <CM."free">
0040452E|.83C4 04 ADD ESP, 0x4
00404531|>8D45 E4 LEA EAX,
00404534|.50 PUSH EAX ; /Arg1
00404535|.E8 40110000 CALL CM.0040567A ; \BASE64 编码
0040453A|.8945 E0 MOV , EAX
0040453D|.8B5D E4 MOV EBX,
00404540|.85DB TEST EBX, EBX
00404542|.74 09 JE SHORT CM.0040454D
00404544|.53 PUSH EBX
00404545|.E8 7B4D0000 CALL <CM."free">
0040454A|.83C4 04 ADD ESP, 0x4
0040454D|>6A FF PUSH -0x1
0040454F|.6A 08 PUSH 0x8
00404551|.68 382A0116 PUSH 0x16012A38
00404556|.68 01000152 PUSH 0x52010001
0040455B|.E8 894D0000 CALL CM.004092E9 ;取编辑框2的内容
00404560|.83C4 10 ADD ESP, 0x10
00404563|.8945 DC MOV , EAX
00404566|.8B45 E0 MOV EAX,
00404569|.50 PUSH EAX
0040456A|.FF75 DC PUSH
0040456D|.E8 29E2FFFF CALL CM.0040279B ;文本对比 Base64编码的数据 和 编辑框2文本
00404572|.83C4 08 ADD ESP, 0x8
00404575|.83F8 00 CMP EAX, 0x0
00404578|.B8 00000000 MOV EAX, 0x0
0040457D|.0F94C0 SETE AL
00404580|.8945 D8 MOV , EAX
00404583|.8B5D DC MOV EBX,
00404586|.85DB TEST EBX, EBX
00404588|.74 09 JE SHORT CM.00404593
0040458A|.53 PUSH EBX
0040458B|.E8 354D0000 CALL <CM."free">
00404590|.83C4 04 ADD ESP, 0x4
00404593|>8B5D E0 MOV EBX,
00404596|.85DB TEST EBX, EBX
00404598|.74 09 JE SHORT CM.004045A3
0040459A|.53 PUSH EBX
0040459B|.E8 254D0000 CALL <CM."free">
004045A0|.83C4 04 ADD ESP, 0x4
004045A3|>837D D8 00 CMP , 0x0
004045A7 90 NOP ;关键跳转 判断刚才的文本是否匹配 如果不匹配则 返回 匹配则往下执行 NOP后
004045A8 90 NOP
004045A9 90 NOP
004045AA 90 NOP
004045AB 90 NOP
004045AC 90 NOP
执行看看
发现成功了 然后开始找算法
004043A1|.E8 1F4F0000 CALL <CM."free">
004043A6|.83C4 04 ADD ESP, 0x4
004043A9|>B8 4F324A00 MOV EAX, CM.004A324F ;luochen
004043AE|.8945 F4 MOV , EAX
004043B1|.8D45 F4 LEA EAX,
004043B4|.50 PUSH EAX ; /push ASCII "luochen"
004043B5|.8D45 F8 LEA EAX, ; |
004043B8|.50 PUSH EAX ; |push 主机名 字节集
004043B9|.E8 5A070000 CALL CM.00404B18 ; \算法call
004043BE|.8945 F0 MOV , EAX
004043C1|.8B5D F8 MOV EBX,
004043C4|.85DB TEST EBX, EBX
004043C6|.74 09 JE SHORT CM.004043D1
00404B3D/$55 PUSH EBP
00404B3E|.8BEC MOV EBP, ESP
00404B40|.81EC 8C000000SUB ESP, 0x8C
00404B46|.C745 FC 000000>MOV , 0x0
00404B4D|.C745 F8 000000>MOV , 0x0
00404B54|.C745 F4 000000>MOV , 0x0
00404B5B|.C745 F0 000000>MOV , 0x0
00404B62|.68 08010000 PUSH 0x108
00404B67|.E8 5F470000 CALL CM.004092CB ;分配 0x108个内存 了
00404B6C|.83C4 04 ADD ESP, 0x4
00404B6F|.8945 EC MOV , EAX
00404B72|.8BF8 MOV EDI, EAX
00404B74|.BE F22F4A00 MOV ESI, CM.004A2FF2
00404B79|.AD LODS DWORD PTR DS:
00404B7A|.AB STOS DWORD PTR ES:
00404B7B|.AD LODS DWORD PTR DS:
00404B7C|.AB STOS DWORD PTR ES:
00404B7D|.33C0 XOR EAX, EAX
00404B7F|.B9 40000000 MOV ECX, 0x40
00404B84|.F3:AB REP STOS DWORD PTR ES:
00404B86|.C745 E8 000000>MOV , 0x0
00404B8D|.C745 E4 000000>MOV , 0x0
00404B94|.68 08010000 PUSH 0x108
00404B99|.E8 2D470000 CALL CM.004092CB ;分配 0x108个内存
00404B9E|.83C4 04 ADD ESP, 0x4
00404BA1|.8945 E0 MOV , EAX
00404BA4|.8BF8 MOV EDI, EAX
00404BA6|.BE F22F4A00 MOV ESI, CM.004A2FF2
00404BAB|.AD LODS DWORD PTR DS:
00404BAC|.AB STOS DWORD PTR ES:
00404BAD|.AD LODS DWORD PTR DS:
00404BAE|.AB STOS DWORD PTR ES:
00404BAF|.33C0 XOR EAX, EAX
00404BB1|.B9 40000000 MOV ECX, 0x40
00404BB6|.F3:AB REP STOS DWORD PTR ES:
00404BB8|.C745 DC 000000>MOV , 0x0
00404BBF|.C745 D8 000000>MOV , 0x0
00404BC6|.68 05000080 PUSH 0x80000005
00404BCB|.6A 00 PUSH 0x0
00404BCD|.8B5D 08 MOV EBX,
00404BD0|.8B03 MOV EAX, DWORD PTR DS:
00404BD2|.85C0 TEST EAX, EAX
00404BD4|.75 05 JNZ SHORT CM.00404BDB
00404BD6|.B8 D22F4A00 MOV EAX, CM.004A2FD2
00404BDB|>50 PUSH EAX
00404BDC|.68 01000000 PUSH 0x1
00404BE1|.BB 90974000 MOV EBX, CM.00409790
00404BE6|.E8 E6460000 CALL CM.004092D1 ;参数1 取字节集长度 15
00404BEB|.83C4 10 ADD ESP, 0x10
00404BEE|.8945 FC MOV , EAX
00404BF1|.837D FC 01 CMP , 0x1
00404BF5|.0F8D 0A000000JGE CM.00404C05 ;如果 <1 ret
00404BFB|.B8 D22F4A00 MOV EAX, CM.004A2FD2
00404C00|.E9 DE090000 JMP CM.004055E3
00404C05|>68 04000080 PUSH 0x80000004
00404C0A|.6A 00 PUSH 0x0
00404C0C|.8B5D 0C MOV EBX,
00404C0F|.8B03 MOV EAX, DWORD PTR DS:
00404C11|.85C0 TEST EAX, EAX
00404C13|.75 05 JNZ SHORT CM.00404C1A
00404C15|.B8 AB2F4A00 MOV EAX, CM.004A2FAB
00404C1A|>50 PUSH EAX
00404C1B|.68 01000000 PUSH 0x1
00404C20|.BB 70974000 MOV EBX, CM.00409770
00404C25|.E8 A7460000 CALL CM.004092D1 ;取参数2 文本长度 7
00404C2A|.83C4 10 ADD ESP, 0x10
00404C2D|.8945 F8 MOV , EAX
00404C30|.68 01030080 PUSH 0x80000301
00404C35|.6A 00 PUSH 0x0
00404C37|.FF75 FC PUSH
00404C3A|.68 01000000 PUSH 0x1
00404C3F|.BB 30A54000 MOV EBX, CM.0040A530
00404C44|.E8 88460000 CALL CM.004092D1
00404C49|.83C4 10 ADD ESP, 0x10
00404C4C|.8945 D4 MOV , EAX
00404C4F|.8B45 D4 MOV EAX,
00404C52|.50 PUSH EAX
00404C53|.8B5D F4 MOV EBX,
00404C56|.85DB TEST EBX, EBX
00404C58|.74 09 JE SHORT CM.00404C63
00404C5A|.53 PUSH EBX
00404C5B|.E8 65460000 CALL <CM."free">
00404C60|.83C4 04 ADD ESP, 0x4
00404C63|>58 POP EAX
00404C64|.8945 F4 MOV , EAX
00404C67|.33C9 XOR ECX, ECX
00404C69|.8D45 F0 LEA EAX,
00404C6C|.8BD8 MOV EBX, EAX
00404C6E|>41 /INC ECX
00404C6F|.51 |PUSH ECX
00404C70|.53 |PUSH EBX
00404C71|.890B |MOV DWORD PTR DS:, ECX
00404C73|.81F9 00010000|CMP ECX, 0x100
00404C79|.0F8F 6C000000|JG CM.00404CEB ;循环 for int i = 0; int i<= 0x100,i++;
00404C7F|.8B5D EC |MOV EBX,
00404C82|.E8 5BC7FFFF |CALL CM.004013E2
00404C87|.53 |PUSH EBX
00404C88|.51 |PUSH ECX
00404C89|.8B45 F0 |MOV EAX,
00404C8C|.48 |DEC EAX
00404C8D|.79 17 |JNS SHORT CM.00404CA6
00404C8F|.68 0C010000 |PUSH 0x10C
00404C94|.68 A2310104 |PUSH 0x40131A2
00404C99|.68 04000000 |PUSH 0x4
00404C9E|.E8 34460000 |CALL CM.004092D7
00404CA3|.83C4 0C |ADD ESP, 0xC
00404CA6|>59 |POP ECX
00404CA7|.5B |POP EBX
00404CA8|.3BC1 |CMP EAX, ECX
00404CAA|.7C 17 |JL SHORT CM.00404CC3
00404CAC|.68 0C010000 |PUSH 0x10C
00404CB1|.68 A2310104 |PUSH 0x40131A2
00404CB6|.68 01000000 |PUSH 0x1
00404CBB|.E8 17460000 |CALL CM.004092D7
00404CC0|.83C4 0C |ADD ESP, 0xC
00404CC3|>03D8 |ADD EBX, EAX
00404CC5|.895D D4 |MOV , EBX
00404CC8|.DB45 F0 |FILD
00404CCB|.DD5D CC |FSTP QWORD PTR SS:
00404CCE|.DD45 CC |FLD QWORD PTR SS:
00404CD1|.DC25 B12F4A00|FSUB QWORD PTR DS:
00404CD7|.DD5D C4 |FSTP QWORD PTR SS:
00404CDA|.DD45 C4 |FLD QWORD PTR SS:
00404CDD|.E8 93C7FFFF |CALL CM.00401475
00404CE2|.8B5D D4 |MOV EBX,
00404CE5|.8803 |MOV BYTE PTR DS:, AL ;传入 i-1的 字节
00404CE7|.5B |POP EBX
00404CE8|.59 |POP ECX
00404CE9|.^ EB 83 \JMP SHORT CM.00404C6E
00404CEB|>83C4 08 ADD ESP, 0x8 ;结果 = 0~ 256 的字节集
m = {00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
E8 DF 94 F3 C7 3A 00 08 01 00 00 00 00 01 00 00}
00404CEB|> \83C4 08 ADD ESP, 0x8 ;结果 = 0~ 256 的字节集
00404CEE|.837D F8 00 CMP , 0x0
00404CF2|.0F8E AE030000JLE CM.004050A6
00404CF8|.68 04000080 PUSH 0x80000004
00404CFD|.6A 00 PUSH 0x0
00404CFF|.8B5D 0C MOV EBX,
00404D02|.8B03 MOV EAX, DWORD PTR DS:
00404D04|.85C0 TEST EAX, EAX
00404D06|.75 05 JNZ SHORT CM.00404D0D
00404D08|.B8 AB2F4A00 MOV EAX, CM.004A2FAB
00404D0D|>50 PUSH EAX
00404D0E|.68 01000000 PUSH 0x1
00404D13|.BB 00A14000 MOV EBX, CM.0040A100
00404D18|.E8 B4450000 CALL CM.004092D1 ;参数2 转字节集
00404D1D|.83C4 10 ADD ESP, 0x10
00404D20|.8945 D4 MOV , EAX
00404D23|.8B45 D4 MOV EAX,
00404D26|.50 PUSH EAX
00404D27|.8B5D E8 MOV EBX,
00404D2A|.85DB TEST EBX, EBX
00404D2C|.74 09 JE SHORT CM.00404D37
00404D2E|.53 PUSH EBX
00404D2F|.E8 91450000 CALL <CM."free">
00404D34|.83C4 04 ADD ESP, 0x4
00404D37|>58 POP EAX
00404D38|.8945 E8 MOV , EAX
00404D3B|.C745 E4 010000>MOV , 0x1
00404D42|.33C9 XOR ECX, ECX
00404D44|.8D45 F0 LEA EAX,
00404D47|.8BD8 MOV EBX, EAX
00404D49|>41 /INC ECX
00404D4A|.51 |PUSH ECX
00404D4B|.53 |PUSH EBX
00404D4C|.890B |MOV DWORD PTR DS:, ECX
00404D4E|.81F9 00010000|CMP ECX, 0x100 ;循环 for int i = 0; int i<= 0x100,i++;
00404D54|.0F8F B9000000|JG CM.00404E13
00404D5A|.8B5D E0 |MOV EBX,
00404D5D|.E8 80C6FFFF |CALL CM.004013E2
00404D62|.53 |PUSH EBX
00404D63|.51 |PUSH ECX
00404D64|.8B45 F0 |MOV EAX,
00404D67|.48 |DEC EAX
00404D68|.79 17 |JNS SHORT CM.00404D81
00404D6A|.68 14020000 |PUSH 0x214
00404D6F|.68 A2310104 |PUSH 0x40131A2
00404D74|.68 04000000 |PUSH 0x4
00404D79|.E8 59450000 |CALL CM.004092D7
00404D7E|.83C4 0C |ADD ESP, 0xC
00404D81|>59 |POP ECX
00404D82|.5B |POP EBX
00404D83|.3BC1 |CMP EAX, ECX
00404D85|.7C 17 |JL SHORT CM.00404D9E
00404D87|.68 14020000 |PUSH 0x214
00404D8C|.68 A2310104 |PUSH 0x40131A2
00404D91|.68 01000000 |PUSH 0x1
00404D96|.E8 3C450000 |CALL CM.004092D7
00404D9B|.83C4 0C |ADD ESP, 0xC
00404D9E|>03D8 |ADD EBX, EAX
00404DA0|.895D D4 |MOV , EBX
00404DA3|.8B5D E8 |MOV EBX,
00404DA6|.E8 37C6FFFF |CALL CM.004013E2
00404DAB|.53 |PUSH EBX
00404DAC|.51 |PUSH ECX
00404DAD|.8B45 E4 |MOV EAX,
00404DB0|.48 |DEC EAX
00404DB1|.79 17 |JNS SHORT CM.00404DCA
00404DB3|.68 14020000 |PUSH 0x214
00404DB8|.68 A2310104 |PUSH 0x40131A2
00404DBD|.68 04000000 |PUSH 0x4
00404DC2|.E8 10450000 |CALL CM.004092D7
00404DC7|.83C4 0C |ADD ESP, 0xC
00404DCA|>59 |POP ECX
00404DCB|.5B |POP EBX
00404DCC|.3BC1 |CMP EAX, ECX
00404DCE|.7C 17 |JL SHORT CM.00404DE7
00404DD0|.68 14020000 |PUSH 0x214
00404DD5|.68 A2310104 |PUSH 0x40131A2
00404DDA|.68 01000000 |PUSH 0x1
00404DDF|.E8 F3440000 |CALL CM.004092D7
00404DE4|.83C4 0C |ADD ESP, 0xC
00404DE7|>03D8 |ADD EBX, EAX
00404DE9|.895D D0 |MOV , EBX
00404DEC|.8B5D D0 |MOV EBX,
00404DEF|.8A03 |MOV AL, BYTE PTR DS:
00404DF1|.8B5D D4 |MOV EBX,
00404DF4|.8803 |MOV BYTE PTR DS:, AL ;' 交换字节
00404DF6|.FF45 E4 |INC
00404DF9|.8B45 F8 |MOV EAX,
00404DFC|.3945 E4 |CMP , EAX
00404DFF|.0F8E 07000000|JLE CM.00404E0C
第二组
0089C6906C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75luochenluochenlu
0089C6A06F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63ochenluochenluoc
0089C6B068 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65henluochenluoche
0089C6C06E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6Cnluochenluochenl
0089C6D075 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6Fuochenluochenluo
0089C6E063 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68chenluochenluoch
0089C6F065 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6Eenluochenluochen
0089C7006C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75luochenluochenlu
0089C7106F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63ochenluochenluoc
0089C72068 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65henluochenluoche
0089C7306E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6Cnluochenluochenl
0089C74075 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6Fuochenluochenluo
0089C75063 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68chenluochenluoch
0089C76065 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6Eenluochenluochen
0089C7706C 75 6F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75luochenluochenlu
0089C7806F 63 68 65 6E 6C 75 6F 63 68 65 6E 6C 75 6F 63ochenluochenluoc
发现有点类似 RC4加密 然后 小菜想看看返回值是什么
去网上下一个 RC4 加密源码看看 加密KEY luochen
得到结果后在BASE64编码看看
已知 NAME GF5tFgtDVXfYSMXoIfBw
KEY GF5tFgtDVXfYSMXoIfBwCjDENH4jLWn34txDD++SxF8=
一毛一样
接下来就简单了贴算法
.版本 2
.支持库 eAPI
.支持库 spec
.支持库 dp1
.子程序 算法
.局部变量 主机名, 字节集
.局部变量 加密key, 文本型
.局部变量 网卡, 网卡信息, , "0"
.局部变量 格式化文本, 文本型, , "0"
.局部变量 新网卡, 文本型
.局部变量 i, 整数型
主机名 = 到字节集 (取主机名 ())
网卡 = 取网卡信息列表 ()
格式化文本 = 分割文本 (网卡 .物理地址, “-”, )
.计次循环首 (取数组成员数 (格式化文本), i)
新网卡 = 新网卡 + 格式化文本 + “:”
.计次循环尾 ()
新网卡 = 文本替换 (新网卡, 取文本长度 (新网卡), 1, “”)
加密key = “luochen”
调试输出 (BASE64编码_ASM (加密数据 (主机名, 加密key, #RC4算法)))
调试输出 (BASE64编码_ASM (加密数据 (主机名 + 到字节集 (新网卡), 加密key, #RC4算法)))
运行结果
* “GF5tFgtDVXfYSMXoIfBw”
* “GF5tFgtDVXfYSMXoIfBwCjDENH4jLWn34txDD++SxF8=”
溜了溜了{:301_998:}
ytywpyty 发表于 2020-2-28 13:54
这个叫0524lei的会员利用cm在论坛放木马
关于这点你可以找一下 @CrazyNut大大然后提供这个会员的带木马的CM 然后去进行分析 或者你私聊发给我也行 我去逆向得出结果后我会通知大大的 crack5 发表于 2020-2-28 14:33
关于这点你可以找一下 @CrazyNut大大然后提供这个会员的带木马的CM 然后去进行分析 或者你私聊发给我 ...
有大佬看了下 应该是感染了蠕虫
大佬也可以再看看 {:301_999:} 第一次贴 排版是个问题 学习了学习了,感谢大佬 大佬大佬,学习学习 学习了,感谢楼主分享 新手我学习了 新手学习了 我也试试看 还是云里雾里的。。。 学习到了