零基础入门windows逆向(一)

介绍

什么是逆向

逆向包含很多方面的内容,从最简单的修改程序内容,到破解认证,再到脱壳,可以说只要是对原程序进行分析和修改的行为都可以称为逆向。

逆向需要什么

一个脱壳平台,可以是物理机,也可以是虚拟机。然后是工具,Ollydbg(简称OD)是最基础的,也是必不可少的,其余的根据需要另行收集。

逆向需要注意什么

工具虽方便也容易出错,人为对工具欺骗往往是轻而易举的,不要轻易相信工具所告诉你的。最重要一点,我们学习逆向,是为了学习知识,而不是为了获取非法的利益。

简单破解

未破解程序及工具:https://pan.baidu.com/s/1OVTq4_aX8XjO8_bvIb_Cqg 密码:jgag

工具

OD、Exeinfo PE、LordPE、Import REC

查壳

将程序拖入ExeinfoPE,可以看到程序被加了nsPack壳,为了保险结果只作为参考。

脱壳

  1. 将程序拖入OD,从开头的pushfd和pushad再次确认是nsPack壳。
  2. 打开内存窗口,在00401000处F2下断点后F9运行。
  3. 到达位置0019043A。
  4. 一直F8单步运行,遇到实现的向上跳转(跳转显示为红色)则在选择下一行后F4,如00190592处,选择00190598后F4运行至此处。
  5. 单步运行至00BF5378处发现无条件跳向006F1CFE,F8进入后即为OEP。
  6. LordPE中选择需破解的程序,右键修正镜像大小后完整转存。
  7. Import REC中选择需破解的程序,OEP处输入找到的OEP地址减去程序中显示的映像基址,即002F1CFE,点击自动搜索后点击获取输入表,选择修正转储,修正LordPE导出的文件。
  8. 将修复后的文件拖入Exeinfo PE发现已经脱壳成功。

破解

  1. 直接打开程序确认是一个需要充值的程序,那么从充值部分下手。
  2. 将已脱壳的程序拖入OD,查找ASCII字符。
  3. 发现有试用期的选择,进入后发现有与试用期相关的内容,但是无法找到终止位置。
  4. 继续查找发现有使用时长到期,请续期的内容,直接双击进入。
  5. 在该语句之上发现有未实现的跳转,如果实现则会跳过到期的内容,将该跳转修改为jmp强制执行。
  6. 修改后右键,复制到可执行文件,选则所有修改,然后保存修改。
  7. 打开程序运行发现已经破解成功。

备注

关于更多该程序的脱壳破解方法可以前往吾爱破解论坛https://www.52pojie.cn/进行搜索。

预告

下一章为脱壳的基础方法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据