新手学习 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关键就是发现并处理反反汇编特征码,并进行修正。 棒棒哒,加油 棒棒哒,加油 学习了,谢谢分享!
加油 棒棒哒
页:
[1]