涛之雨 发表于 2019-1-2 00:04

xIDA学习经验和实战记录--手过花指令(1)

本帖最后由 涛之雨 于 2019-1-9 14:07 编辑


注:吾爱的版本md不是很会用。
图片重新上传过了。
原链接在csdn目前也已经通过审核,如果有碍阅读,可以点击下面的链接去看CSDN的。
下一篇链接在文末。建议按部就班。这只是个学习记录。大家一起学习哈。。。
打个小广告。呃主要是因为感觉吾爱md排版不是很好看(略略略~~)
如果有碍阅读,请点击》**[这里](https://blog.csdn.net/weixin_44352049/article/details/85567929)**《 阅读原文,并且回复。谢谢

# 实验软件
> 原链接为》(tools.pediy.com/win/PACK/Protectors/MSLRH/MSLRHv0.31a.rar)《
> 因为有防盗链,请点击》[**短连接下载**](http://uee.me/aH9VE)《直接下载,
> 或是复制链接(tools.pediy.com/win/PACK/Protectors/MSLRH/MSLRHv0.31a.rar),**在浏览器中粘贴地址**后打开。
> _**上面的地址已经被我屏蔽了,直接点击是不会有反应的。。。**_
> 附上云盘[防爆链接](https://pan.baidu.com/s/1g7xutMmyJ-2Rpvpuek95Zg)
> 提取码: 3300
> 链接炸了回复。看到会补链。推荐直接点短链接下载(简单么23333)

# 侦壳


什么都没有查到
应该是自己编写的加密方式
(本身这就是一个加壳软件)

# 脱壳

## 发现问题


用IDA打开后,发现最底下是红色的,且有很多黑色部分(未知)
还有大部分的data数据,而且没有发现已解锁的函数(蓝色部分)
需要进行脱壳
## OD辅助分析


OD打开,发现一开始有pushad
说明肯定是加壳了的
向下单步跟踪一下,发现有很多 花指令
> 注:[花指令]:通过来回跳转和加上其他多余的数据,让OD、IDA之类的反编译器无法正常分析,从而达到保护的效果


(跳转来条转去的)
现在主要是学习IDA,OD脱壳等有时候再发

>注: 可以用ESP定律实现(==有空会发==)

## IDA实现
### 引入
图解部分(不知道应该怎么叫)最上面可以看到上面有个pushad



先调整IDA,把地址显示出来



鼠标放到有效分析的最后一行
按下<kbd>space</kbd>,切换视图模式



**敲黑板!补充一下**

图中的代码
```vbnet
start      endp      ;sp-analysis failed
```
`//分号后面的是注释,此处意为【分析失败】`

```vbnet
                              ;sub_456189↓p
```
`//此处注释意为【分析交叉引用有冲突】`
`//一般是导航带上深红色区域(详见上图2-1)`
> 注:[交叉引用简介](https://blog.csdn.net/hgy413/article/details/50594320)


定位到红色出错的`CALL`按【D】转变为数据(应该类似OD的删除分析。~我猜的~)






### 分析
全部分析错误都没有了,
开始人工分析



_(**为了方便分析,请先按上面图2-2-2把地址显示出来这里就不上图了**)_
> 以下机器码查询自 (https://blog.csdn.net/liqiang981/article/details/51895009)

机器码|汇编语言
---|---
9A|CALL immed32
E8|CALL immed16
E9|JMP immed16
EB|JMP immed8

因为E8机器码在汇编中会被翻译为`call`,但是后面的`EB OC 00 00`会被翻译成`call`的地址,但是这个地址并不存在,因此会报错。
那么就很清楚了,这里不是`call`而是`jmp`到一个地址
光标定位到下一行`EB`,按【C】,将数据转换为代码






至此,一处花搞定
那什么叫做花指令呢
就是在本来正常的顺序下,让其不停跳转,中间一些永远不会执行到的地方,加上一些其他字符,使反编译器无法正常分析,就达到了在一定程度上保护程序的功效

这个截图上,除了这一处,还有一处,如下图



```vbnet
E8 F6 FF FF FF   call   near ptr byte_4560FF
```

这个`near ptr byte_4560FF`也是不知其为何物
分析一下,发现这个一整段都是花,没有意义



### 花指令

一堆花加在一起,是为花指令
这个例子中,有以下几种情形(分析出来类型,方便接下来用脚本去除所有的花指令)
本来想用Md的Flowchart流程图写一下大概流程的。。
试了几次,放弃了
反正asm汇编的代码也算是很好懂的。

#### 情形一
```vbnet
      call label1
      db 0E8h
label2:
      jmp label3
      db 0
      db 0
      db 0E8h
      db 0F6h
      db 0FFh
      db OFFh
      db OFFh
label1:
      :call label2
label3:
      add esp,8
```
#### 情形二
```vbnet
      jz label1
      jnz label1
      db 0EBh
      db2
label1:
      jmp label2
      db 81h
label2:
```

#### 情形三
```vbnet
      push eax
      call label1
      db 29h
      db 5Ah
label1:
      POP eax
      imul eax,3
      call label2
      db 29h
      db5Ah
label2:
      add esp,4
      pop eax
```
#### 情形四
```c
      jmp label1
      db 68h
label1:
      jmp label2
      db 0CDh,20h
label2:
      jmp label3
      db 0E8h
label3:
```
# 脚本去除
>吾爱破解论坛: (https://www.52pojie.cn/thread-849105-1-1.html)(已重排版)
>CSDN: (https://blog.csdn.net/weixin_44352049/article/details/85850733)(推荐。)。

涛之雨 发表于 2019-1-5 15:49

Hmily 发表于 2019-1-4 18:19
@涛之雨 你觉得MD支持有哪些问题和我说一下?

另外期待文章补齐内容,ida搞个去怎么去花指令的脚本学习 ...

H大。。。我又来了。。
第一次编辑的时候是这个样子的。。



发布完浏览时是这个样子的。


别人看到的和刷新后是这个样子的。。
https://attach.52pojie.cn/forum/201901/05/152920y0zpzjyja6taat6a.png

再次编辑时就是这样子的。。。

然后我又一次成功的
重新上传了照片。。。

关键之前反馈的那个问题我给忘了
上传图片BUG了。。。

然后我成功的又一次打开兼容模式。。。重新编辑{:301_971:}
H大。你可要给小的做主啊{:301_977:}

涛之雨 发表于 2019-1-5 15:18

Hmily 发表于 2019-1-4 18:19
@涛之雨 你觉得MD支持有哪些问题和我说一下?

另外期待文章补齐内容,ida搞个去怎么去花指令的脚本学习 ...

谢谢H大的关心。
已经没问题了。
不知道上一次是什么情况,从CSDN直接复制MD过来,一开始都是好好的
后来图片就都挂了,重编辑的时候,图片都是正常显示的,但是发布出去,图片就都挂了。
现在已经好了。可能是当时我哪里没弄好吧
后来还是用论坛的图片插上去的。。。。{:301_971:}
另外附上链接。。。
看到H大的回复,赶紧就来学习、干帖子了。。。
现在去复习。。。。马上期末考试了{:301_983:}
下一篇地址 https://www.52pojie.cn/thread-849105-1-1.html

涛之雨 发表于 2019-1-2 00:05

自古沙发都是楼主的
先占下

逝轻浮 发表于 2019-1-2 00:10

图片都没裂了,是我这网络的问题???

xdsec_bin 发表于 2019-1-2 01:05

图片没法显示原文也404了 = =

涛之雨 发表于 2019-1-2 01:45

xdsec_bin 发表于 2019-1-2 01:05
图片没法显示原文也404了 = =

csdn原文正在审核中
所以图片也都挂了
稍等一会吧……
如果还是不行。我再重新传一下吧

fq645122 发表于 2019-1-2 07:35

可以可以的

qi843679 发表于 2019-1-2 08:39

谢谢楼主分享!!!

you920928 发表于 2019-1-2 09:00

感谢分享

jghdhr 发表于 2019-1-2 09:01

先收藏着,感谢楼主分享

jgs 发表于 2019-1-2 09:17

现在看的不全,先占位,以观后效,再评分。
页: [1] 2 3 4 5 6 7 8
查看完整版本: xIDA学习经验和实战记录--手过花指令(1)