MaximeLionel 发表于 2022-5-4 18:09

新手学习 PracticalMalwareAnalysis lab15-01

# 静态数据
* md5:
```
    md5,96445ED6EBC49220D3FA9ACF5EB7F279
    sha1,B49E42D62A46DCF2239871A51FF200047626C6D2
    sha256,1120D5EE34D2CD4519EA551CD4C8B1544B9A5993ABA33774FFC854CEC34001E1
```
* no packer - compiled by vc6.0
# IDA 分析
* 打开后,发现很多反反汇编的特征代码:
```
    .text:0040101F 33 C0                                       xor   eax, eax
    .text:00401021 74 01                                       jz      short near ptr loc_401023+1
    .text:00401023
    .text:00401023                           loc_401023:                           ; CODE XREF: .text:00401021↑j
    .text:00401023 E8 8B 45 0C 8B                              call    near ptr 8B4C55B3h
```
* 使用D和C进行逐个修正,之后再用0x90把0xE8全部替换掉:
```
    .text:0040101F 33 C0                                       xor   eax, eax
    .text:00401021 74 01                                       jz      short loc_401024
    .text:00401021                           ; ---------------------------------------------------------------------------
    .text:00401023 E8                                          db 0E8h
    .text:00401024                           ; ---------------------------------------------------------------------------
    .text:00401024
    .text:00401024                           loc_401024:                           ; CODE XREF: .text:00401021↑j
    .text:00401024 8B 45 0C                                    mov   eax,
```
* 修正好之后,使用P将这段代码在IDA里转换成一个函数,发现是main函数,后面就很简单了。
* 后面就是匹配key,发现是'pdq',在测试环境下用命令行运行,出现good job的反馈。
```
    .text:00401011                           loc_401011:                           ; CODE XREF: _main+E↑j
    .text:00401011 010 8B 45 0C                              mov   eax,
    .text:00401014 010 8B 48 04                              mov   ecx,     ; 2nd argument
    .text:00401017 010 0F BE 11                              movsx   edx, byte ptr
    .text:0040101A 010 83 FA 70                              cmp   edx, 'p'      ; 1st byte of 2nd arg
    .text:0040101D 010 75 3F                                 jnz   short not_2_argc
    .text:0040101F 010 33 C0                                 xor   eax, eax
    .text:00401021 010 74 01                                 jz      short loc_401024
    .text:00401023 010 90                                    nop
    .text:00401024
    .text:00401024                           loc_401024:                           ; CODE XREF: _main+21↑j
    .text:00401024 010 8B 45 0C                              mov   eax,
    .text:00401027 010 8B 48 04                              mov   ecx,
    .text:0040102A 010 0F BE 51 02                           movsx   edx, byte ptr
    .text:0040102E 010 83 FA 71                              cmp   edx, 'q'      ; 3rd byte of 2nd arg
    .text:00401031 010 75 2B                                 jnz   short not_2_argc
    .text:00401033 010 33 C0                                 xor   eax, eax
    .text:00401035 010 74 01                                 jz      short loc_401038
    .text:00401037 010 90                                    nop
    .text:00401038
    .text:00401038                           loc_401038:                           ; CODE XREF: _main+35↑j
    .text:00401038 010 8B 45 0C                              mov   eax,
    .text:0040103B 010 8B 48 04                              mov   ecx,
    .text:0040103E 010 0F BE 51 01                           movsx   edx, byte ptr
    .text:00401042 010 83 FA 64                              cmp   edx, 'd'      ; 2nd byte of 2nd arg
    .text:00401045 010 75 17                                 jnz   short not_2_argc
    .text:00401047 010 33 C0                                 xor   eax, eax
    .text:00401049 010 74 01                                 jz      short loc_40104C
    .text:0040104B 010 90                                    nop
```
# 总结
该lab关键就是发现并处理反反汇编特征码,并进行修正。

yuyi0 发表于 2022-5-5 11:07

棒棒哒,加油

冷眸b 发表于 2022-5-13 13:47

棒棒哒,加油

tan811008 发表于 2022-5-14 06:18

学习了,谢谢分享!

hudiehua 发表于 2022-5-28 23:54


加油 棒棒哒
页: [1]
查看完整版本: 新手学习 PracticalMalwareAnalysis lab15-01