n1in 发表于 2021-8-20 23:20

crackme杂记 004

创建窗口函数: CreatWindowsExA,有时候想要找信息窗口找不到的话可以通过这个函数查找。

花指令:花指令就是类似于jmp,call,ret的指令用来影响我们正常进行反汇编,比如使用花指令的话,IDA就无法正常编译汇编代码。
举例:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8941b10673c546e3b99d600bbff27085.png)
如上图,我们自己写了一个裸函数,可以看到,先写一个jmp Lable,跳转到下面的Lable函数,然后通过 _emit 0e8h 写入一个e8,但是我们知道,e8是call对应的硬编码,所以od就会认为这是一个call ,但是call后面都会跟着一个地址啊,所以od就会将后面的代码理解成call的地址,如下图
![在这里插入图片描述](https://img-blog.csdnimg.cn/0169925b0b37416e9c8e15a9eb85251a.png)
但是花指令并不能影响程序的运行,因为花指令骗得只是反汇编工具,不如上面的jmp,程序运行的时候该怎么跳就怎么跳,(所以我们设计花指令的思路应该是构造一个恒成立的跳转,然后跳转中间插入无效的代码)我们在调试程序的时候碰到这种情况的话,可以直接将跳转代码的位置
与跳转想要跳转的位置之间的代码直接nop掉就好了,所以说,花指令防的住静态调试,但并防不住静态调试。
那么花指令远离如上,我们可以一个一个去nop,但是如果花指令特别多怎么办,可以使用插件。
但是这样一个一个nop难免会使代码的可读性变低,我们还有其他方法:
![在这里插入图片描述](https://img-blog.csdnimg.cn/70e7fe3770724eb5b26036cab6e0b52a.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dvYXRfMjAwMw==,size_16,color_FFFFFF,t_70)
然后重新右键分析就可以了。效果如下图
![在这里插入图片描述](https://img-blog.csdnimg.cn/6b4ae510c49d4c0a8a2ec3d8b19fff9e.png)

od快捷键:
ctrl+f9 执行到函数返回



ida操作基础:

如果代码是一个函数,IDA会将其命名为sub_xxxxx,所以有时候我们遇到loc开头的东西的话说明不是一个函数。

mountater 发表于 2021-8-21 18:14

这是一个exe软件吗?

n1in 发表于 2021-8-21 21:00

mountater 发表于 2021-8-21 18:14
这是一个exe软件吗?

什么意思?

mountater 发表于 2021-8-29 20:50

n1in 发表于 2021-8-21 21:00
什么意思?

我的意思是这个东西是一个exe软件吗?还是直接在终端使用命令。

n1in 发表于 2021-8-31 20:57

mountater 发表于 2021-8-29 20:50
我的意思是这个东西是一个exe软件吗?还是直接在终端使用命令。

一个exe把
页: [1]
查看完整版本: crackme杂记 004