《有趣的二进制》学习笔记(持续更新)

1.1

学习首先遇到了Process Monitor不太会用的情况。这里很简单的讲一下Process Monitor的使用。
个人觉得比较方便的是建立一个空文件夹在桌面,这里我建立一个文件夹名为laboratory,之后就把所有的分析文件都放在laboratory中。之后reset filter,选择filter,将laboratory包含在Process Monitor中。文件运行过程的日志便会在显示在其中。(但是若是不在这个文件夹中的进程便看不见。。。所以发现例程创建启动文件夹中的0.exe的进程怎么没有,苦苦找了很久。还是锻炼一下眼力好了。)
在之后使用的文件比对中我使用的是winhex,在tool-file tool-compare中就可以比对两个文件。
查看注册表的话,自启动的几项如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

1.2

不知道为什么我IDA出来的汇编代码跟书本不一样,难道跟环境有关系?

1.3

终于不用考虑眼力了,Process Monitor在filter中选择Process中输入wsample01b.exe之后apply。这样就可以只看这个进程了。
在虚拟机中调试的话,ollydbg的单步调试快捷键要按Fn+F8或F9,不然就点鼠标到累死了。

2.2

一种初级的反调试技术是IsDebuggerPresent(一种能够检测是否挂载了调试器的API函数)。除此以外还有一些类似的API函数,如CheckRemoteDubuggerPresent。
除了API函数以外,还可以利用popf和SINGLE_STEPYICH异常来检测调试器以及是使用int 2dh。
还可以使用代码混淆(加入一些机器码但不影响其正常运行,但是IDA反汇编后跟正常不同)
最后一种是使用打包器,原理:将可执行文件的代码和数据进行压缩,然后将解压用的代码附加在前面,运行的时候先将原本的可执行数据解压,然后再运行解压缩的数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值