简单软件激活成功教程入门

简单软件激活成功教程入门一、激活成功教程准备:组合一:侦壳language.exe脱壳AspackDie.exe反编译W32Dasm黄金中文版十六进制编辑器UltraEdit组合二:PEidOllydbg二、

大家好,又见面了,我是你们的朋友全栈君。

 

一、激活成功教程准备:

组合一:

侦壳 language.exe

脱壳AspackDie.exe

反编译 W32Dasm黄金中文版

十六进制编辑器 UltraEdit

组合二:

PEid

Ollydbg 

二、激活成功教程软件步骤:
1.查壳

一般软件都会加壳,所以我们想激活成功教程软件,首先必须知道待激活成功教程的软件所加壳的类型。在这之前,我们需要先了解壳的概念。什么是壳?所谓壳就是一个保护程序,将可执行文件压缩,保护软件版权信息,不让人随意改动。最常见的加壳软件有ASPACK,UPX,PE compact等等。

其中查壳工具有language.exe、PEid等等。如图所示,我们便可以知道待激活成功教程软件是采用什么语言编写的,并且加了什么类型的壳。<span role="heading" aria-level="2">简单软件激活成功教程入门

2. 脱壳

所谓脱壳,就是将已经加壳的程序从壳中剥离出来。

首先需要介绍OEP的概念,OEP就是原程序的入口点,也就是真正的入口点。当被加壳的程序运行后,首先运行的是壳程序,壳程序会将原程序还原到内存中并将控制权返还。OEP总会在这期间被脱壳者找到。只要找到这个OEP,就可以将原程序从内存中dump出来,而后针对dump出的程序进行处理,最终得到原程序。一般来说,脱壳就是要找程序的OEP,得到这个OEP,脱壳就完成一半了,剩下的就是修复工作了。

脱壳的方法有很多种,如:单步跟踪法、ESP定律法、二次断点法、末次异常法、模拟跟踪法、SFX自动脱壳法、出口标志法、使用脱壳脚本辅助脱壳、使用脱壳工具脱壳。其中,对于比较简单常见的壳,我们可以脱壳工具来帮助我们解决问题。在这里我就不赘述其他方法了,可以参考http://www.cnblogs.com/einyboy/archive/2012/05/19/2508696.html

 <span role="heading" aria-level="2">简单软件激活成功教程入门

其中AspackDie.exe是一种针对ASpack壳的专业脱壳工具。通过这个工具的脱壳,我们可以得到一个脱壳后的unpacked.exe。
3.反汇编

所谓反汇编(Disassembly),即把目标代码转为汇编代码的过程。其中常用的工具软件有:反编译 W32Dasm、Ollydbg等等。对于转换过来的汇编代码,一般会比较长,且晦涩难懂,一般人往往不知道从哪里入手。在这个过程中,最重要的是寻找到激活成功教程软件的关键点。首先我们可以利用反汇编软件的功能寻找“注册码错误”、“注册成功”等提示性的参考串,缩小我们需要阅读的代码范围。

 <span role="heading" aria-level="2">简单软件激活成功教程入门

在“注册码错误”参考串附近,我们可以尽量寻找call子函数调用和有条件跳转(除了jmp的其它跳:je,jne,jz,jnz)。对于这些关键处,一般就是我们所需要寻找的激活成功教程软件的关键点。但是不尽然,对于具体的问题,我们还是需要通过阅读汇编代码来分析,所以我们大学里面学的汇编语言在这里就很有用了。

实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成。第一列为行地址(虚拟地址)。第二列为机器码(最终修改时用ultraedit修改)。第三列为汇编指令。

 <span role="heading" aria-level="2">简单软件激活成功教程入门

其中在上图中,关键点为jne 004ACCB1。从反汇编软件的提示栏我们可以看到这条跳转指令的偏移地址0xacb4b。 

4.修改机器码

由于exe可执行文件是二进制文件,我们可以通过UltraEdit软件转换为十六进制显示。当我们修改了文件中十六进制,就相当于修改了可执行文件的内容。

打开十六进制编辑器 UltraEdit,打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址)。

在这里我们将指令jne 004ACCB1对应的机器码)0F8560010000修改为0F8460010000,也就是说我们将指令改为了je 004ACCB1。这样的话,程序在判断跳转条件是,几乎不会弹出“注册错误”的对话框,而总是执行“注册成功”那一段子程序。
<span role="heading" aria-level="2">简单软件激活成功教程入门

常见指令对应机器码

<span role="heading" aria-level="2">简单软件激活成功教程入门

  三、个人心得:

1.不要畏惧困难
2.具体问题具体分析
(1)从哪里来,经过哪里,到哪里去
(2)追根诉源,逐步分析

3.遇到难题,需要坚持
(1)开阔思路,逆向思维
(2)考虑其他情况

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155563.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql insert into as_mysql insert into select使用方法详解

    mysql insert into as_mysql insert into select使用方法详解mysqlinsertintoselect使用方法详解2017-11-2215:47我们先来看看mysqlinsertintoselect的语法规则。INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE][INTO]tbl_name[(col_name[,col_name]…)]SELECT…[ONDUPLICATEKEY…

    2022年7月15日
    20
  • 走近webpack(5)–devtool及babel的使用

    这一章咱们来说一下如何使用babel以及如何用webpack调试代码。这是基础篇的最后一章,这些文章只是罗列的给大家讲解了在一些场景中webpack怎样使用,这章结束后会给大家讲解一下如何在我们实际的

    2022年3月25日
    51
  • 基于BP神经网络PID控制+Simulink仿真

    基于BP神经网络PID控制+Simulink仿真最近在学习电机的智能控制,上周学习了基于单神经元的PID控制,这周研究基于BP神经网络的PID控制。神经网络具有任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。利用BP神经网络可以建立参数Kp,Ki,Kd自整定的PID控制器。基于BP神经网络的PID控制系统结构框图如下图所示:控制器由两部分组成:经典增量式PID控制器;BP神经网络…

    2022年5月30日
    44
  • python的缩进通常使用_python缩进格式

    python的缩进通常使用_python缩进格式Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c有很大的不同(传统的c/c使用花括号花括号{}符决定作用域的范围;python使用缩进空格来表示作用域的范围,相同缩进行的代码是处于同一范围)。每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentationlevel),注意一个Tab会被替换为1~8个Space(具…

    2022年10月10日
    2
  • java高性能文件缓存_java缓存机制

    java高性能文件缓存_java缓存机制转载地址:http://blog.csdn.net/madun/article/details/8569860最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考。此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-eh…

    2022年10月4日
    3
  • 张飞的流水帐日记【分享】

    张飞的流水帐日记【分享】很多网友说,看完这篇文章受益匪浅.有网友说:我要把你的文章整理打印出来,多让几个人看看!也有网友说:看过一遍会开心,看过两遍会难过,看过三遍会安静.还有细心的网友说:很好笑…但也有文学常识错误,比如:蜀道难,难于上青天.这句诗是唐代李白写的,张飞生于东汉末年我想说:刚开始看很开心,看到中间会忧伤,看到最后会释怀.能好好的健康的活着就该知足了.他用平静的文字表达了强烈的感情…

    2022年7月27日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号