当前位置:文档之家› OD入门系列图文详细教程、破解做辅助起步

OD入门系列图文详细教程、破解做辅助起步

OD入门系列图文详细教程、破解做辅助起步
OD入门系列图文详细教程、破解做辅助起步

一、OllyDBG 的安装与配置

OllyDBG 1.10 版的发布版本是个ZIP 压缩包,只要解压到一个目录下,运行OllyDBG.exe 就可以了。汉化版的发布版本是个RAR 压缩包,同样只需解压到一个目录下运行OllyDBG.exe 即可:

OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考TT 小组翻译的中文帮助:

反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的CPU 寄存器内容。同样点击标签寄存器(FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG 就可以生效了。

启动后我们要把插件及UDD 的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签:

因为我这里是把OllyDBG 解压在F:\OllyDBG 目录下,所以相应的UDD 目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG 中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个UDD 目录不清楚。我这简单解释一下:这个UDD 目录的作用是保存你调试的工作。比如你调试一个软件,设置了断点,添加了注释,一次没做完,这时OllyDBG 就会把你所做的工作保存到这个UDD 目录,以便你下次调试时可以继续以前的工作。如果不设置这个UDD 目录,OllyDBG 默认是在其安装目录下保存这些后缀名为udd 的文件,时间长了就会显的很乱,所以还是建议专门设置一个目录来保存这些文件。

另外一个重要的选项就是调试选项,可通过菜单选项->调试设置来配置:

新手一般不需更改这里的选项,默认已配置好,可以直接使用。建议在对OllyDBG 已比较熟的情况下再来进行配置。上面那个异常标签中的选项经常会在脱壳中用到,建议在有一定调试基础后学脱壳时再配置这里。

除了直接启动OllyDBG 来调试外,我们还可以把OllyDBG 添加到资源管理器右键菜单,这样我们就可以直接在 .exe 及 .dll 文件上点右键选择“用Ollydbg打开”菜单来进行调试。要把OllyDBG 添加到资源管理器右键菜单,只需点菜单选项->添加到浏览器,将会出现一个对话框,先点击“添加Ollydbg 到系统资源管理器菜单”,再点击“完成”按钮即可。要从右键菜单中删除也很简单,还是这个对话框,点击“从系统资源管理器菜单删除Ollydbg”,再点击“完成”就行了。

OllyDBG 支持插件功能,插件的安装也很简单,只要把下载的插件(一般是个DLL 文件)复制到OllyDBG 安装目录下的PLUGIN 目录中就可以了,OllyDBG 启动时会自动识别。要注意的是OllyDBG 1.10 对插件的个数有限制,最多不能超过32 个,否则会出错。建议插件不要添加的太多。

到这里基本配置就完成了,OllyDBG 把所有配置都放在安装目录下的ollydbg.ini 文件中。

二、基本调试方法

OllyDBG 有三种方式来载入程序进行调试,一种是点击菜单文件->打开(快捷键是F3)来打开一个可执行文件进行调试,另一种是点击菜单文件->附加来附加到一个已运行的进程上进行调试。注意这里要附加的程序必须已运行。第三种就是用右键菜单来载入程序(不知这种算不算)。一般情况下我们选第一种方式。比如我们选择一个test.exe 来调试,通过菜单文件->打开来载入这个程序,OllyDBG 中显示的内容将

会是这样:

调试中我们经常要用到的快捷键有这些:

F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点。(相当于SoftICE 中的F9)

F8:单步步过。每按一次这个键执行一条反汇编窗口中的一条指令,遇到CALL 等子程序不进入其代码。(相当于SoftICE 中的F10)

F7:单步步入。功能同单步步过(F8)类似,区别是遇到CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。(相当于SoftICE 中的F8)

F4:运行到选定位置。作用就是直接运行到光标所在位置处暂停。(相当于SoftICE 中的F7)

F9:运行。按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行。(相当于SoftICE 中的F5)

CTR+F9:执行到返回。此命令在执行到一个ret (返回指令)指令时暂停,常用于从系统领空返回到我们调试的程序领空。(相当于SoftICE 中的F12)

ALT+F9:执行到用户代码。可用于从系统领空快速返回到我们调试的程序领空。(相当于SoftICE 中的F11)

上面提到的几个快捷键对于一般的调试基本上已够用了。要开始调试只需设置好断点,找到你感兴趣的代码段再按F8 或F7 键来一条条分析指令功能就可以了。就写到这了,改天有空再接着灌。

二)-字串参考

上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的https://www.doczj.com/doc/8011724362.html, 镜像打包中的CFF Crackme #3,采用用户名/序列号保护方式。原版加了个UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程:拿到一个软件先别接着马上用OllyDBG 调试,先运行一下,有帮助文档的最好先看一下帮助,熟悉一下软件的使用方法,再看看注册的方式。如果是序列号方式可以先输个假的来试一下,看看有什么反应,也给我们破解留下一些有用的线索。如果没有输入注册码的地方,要考虑一下是不是读取注册表或Key 文件(一般称keyfile,就是程序读取一个文件中的内容来判断是否注册),这些可以用其它工具来辅助分析。如果这些都不是,原程序只是一个功能不全的试用版,那要注册为正式版本就要自己来写代码完善了。有点跑题了,呵呵。获得程序的一些基本信息后,还要用查壳的工具来查一下程序是否加了壳,若没壳的话看看程序是什么编译器编的,如VC、Delphi、VB 等。这样的查壳工具有PEiD 和FI。有壳的话我们要尽量脱了壳后再来用OllyDBG 调试,特殊情况下也可带壳调试。下面进入正题:

我们先来运行一下这个crackme(用PEiD 检测显示是Delphi 编的),界面如图:

这个crackme 已经把用户名和注册码都输好了,省得我们动手^_^。我们在那个“Register now !”按钮上点击一下,将会跳出一个对话框:

好了,今天我们就从这个错误对话框中显示的“Wrong Serial, try again!”来入手。启动OllyDBG,选择菜单文件->打开载入CrackMe3.exe 文件,我们会停在这里:

我们在反汇编窗口中右击,出来一个菜单,我们在查找->所有参考文本字串上左键点击:

当然如果用上面那个超级字串参考+插件会更方便。但我们的目标是熟悉OllyDBG 的一些操作,我就尽量使用OllyDBG 自带的功能,少用插件。好了,现在出来另一个对话框,我们在这个对话框里右击,选择“查找文本”菜单项,输入“Wrong Serial, try again!”的开头单词“Wrong”(注意这里查找内容要区分大小写)来查找,找到一处:

在我们找到的字串上右击,再在出来的菜单上点击“反汇编窗口中跟随”,我们来到这里:

见上图,为了看看是否还有其他的参考,可以通过选择右键菜单查找参考->立即数,会出来一个对话框:

分别双击上面标出的两个地址,我们会来到对应的位置:

00440F79 |. BA 8C104400 MOV EDX,CrackMe3.0044108C ; ASCII "Wrong Serial,try again!"

00440F7E |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44]

00440F83 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]

00440F85 |. E8 DEC0FFFF CALL CrackMe3.0043D068

00440F8A |. EB 18 JMP SHORT CrackMe3.00440FA4

00440F8E |. B9 80104400 MOV ECX,CrackMe3.00441080 ; ASCII "Beggar off!"

00440F93 |. BA 8C104400 MOV EDX,CrackMe3.0044108C ; ASCII "Wrong Serial,try again!"

00440F98 |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44]

00440F9D |. 8B00 MOV EAX,DWORD PTR DS:[EAX]

00440F9F |. E8 C4C0FFFF CALL CrackMe3.0043D068

我们在反汇编窗口中向上滚动一下再看看:

00440F2C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

00440F2F |. BA 14104400 MOV EDX,CrackMe3.00441014 ; ASCII "Registered User"

00440F34 |. E8 F32BFCFF CALL CrackMe3.00403B2C ; 关键,要用F7跟进去

00440F39 |. 75 51 JNZ SHORT CrackMe3.00440F8C ; 这里跳走就完蛋00440F3B |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]

00440F3E |. 8B83 C8020000 MOV EAX,DWORD PTR DS:[EBX+2C8]

00440F44 |. E8 D7FEFDFF CALL CrackMe3.00420E20

00440F49 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]

00440F4C |. BA 2C104400 MOV EDX,CrackMe3.0044102C ; ASCII "GFX-754-IER-954"

00440F51 |. E8 D62BFCFF CALL CrackMe3.00403B2C ; 关键,要用F7跟进去

00440F56 |. 75 1A JNZ SHORT CrackMe3.00440F72 ; 这里跳走就完蛋00440F58 |. 6A 00 PUSH 0

00440F5A |. B9 3C104400 MOV ECX,CrackMe3.0044103C ; ASCII "CrackMe cracked successfully"

00440F5F |. BA 5C104400 MOV EDX,CrackMe3.0044105C ; ASCII "Congrats! You cracked this CrackMe!"

00440F64 |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44]

00440F69 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]

00440F6B |. E8 F8C0FFFF CALL CrackMe3.0043D068

00440F70 |. EB 32 JMP SHORT CrackMe3.00440FA4

00440F72 |> 6A 00 PUSH 0

00440F74 |. B9 80104400 MOV ECX,CrackMe3.00441080 ; ASCII "Beggar off!"

00440F79 |. BA 8C104400 MOV EDX,CrackMe3.0044108C ; ASCII "Wrong Serial,try again!"

00440F7E |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44]

00440F83 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]

00440F85 |. E8 DEC0FFFF CALL CrackMe3.0043D068

00440F8A |. EB 18 JMP SHORT CrackMe3.00440FA4

00440F8E |. B9 80104400 MOV ECX,CrackMe3.00441080 ; ASCII "Beggar off!"

00440F93 |. BA 8C104400 MOV EDX,CrackMe3.0044108C ; ASCII "Wrong Serial,try again!"

00440F98 |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44]

00440F9D |. 8B00 MOV EAX,DWORD PTR DS:[EAX]

00440F9F |. E8 C4C0FFFF CALL CrackMe3.0043D068

大家注意看一下上面的注释,我在上面标了两个关键点。有人可能要问,你怎么知道那两个地方是关键点?其实很简单,我是根据查看是哪条指令跳到“wrong serial,try again”这条字串对应的指令来决定的。如果你在调试选项->CPU 标签中把“显示跳转路径”及其下面的两个“如跳转未实现则显示灰色路径”、“显示跳转到选定命令的路径”都选上的话,就会看到是从什么地方跳到出错字串处的:

(未完待续/入门系列(二)-字串参考(2))

我们在上图中地址00440F2C 处按F2 键设个断点,现在我们按F9 键,程序已运行起来了。我在上面那个编辑框中随便输入一下,如CCDebuger,下面那个编辑框我还保留为原来的“754-GFX-IER-954”,我们点一下那个“Register now !”按钮,呵,OllyDBG 跳了出来,暂停在我们下的断点处。我们看一下信息窗口,你应该发现了你刚才输入的内容了吧?我这里显示是这样:

堆栈SS:[0012F9AC]=00D44DB4, (ASCII "CCDebuger")

EAX=00000009

上面的内存地址00D44DB4 中就是我们刚才输入的内容,我这里是CCDebuger。你可以在堆栈SS:[0012F9AC]=00D44DB4, (ASCII "CCDebuger") 这条内容上左击选择一下,再点右键,在弹出菜单中选择“数据窗口中跟随数值”,你就会在下面的数据窗口中看到你刚才输入的内容。而EAX=00000009 指的是你输入内容的长度。如我输入的CCDebuger 是9个字符。如下图所示:

现在我们来按F8 键一步步分析一下:

00440F2C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 把我们输入的内容送到EAX,我这里是“CCDebuger”

00440F2F |. BA 14104400 MOV EDX,CrackMe3.00441014 ; ASCII "Registered User"

00440F34 |. E8 F32BFCFF CALL CrackMe3.00403B2C ; 关键,要用F7跟进去

00440F39 |. 75 51 JNZ SHORT CrackMe3.00440F8C ; 这里跳走就完蛋

当我们按F8 键走到00440F34 |. E8 F32BFCFF CALL CrackMe3.00403B2C 这一句时,我们按一下F7 键,进入这个CALL,进去后光标停在这一句:

我们所看到的那些PUSH EBX、PUSH ESI 等都是调用子程序保存堆栈时用的指令,不用管它,按F8 键一步步过来,我们只关心关键部分:

00403B2C /$ 53 PUSH EBX

00403B2D |. 56 PUSH ESI

00403B2E |. 57 PUSH EDI

00403B2F |. 89C6 MOV ESI,EAX ; 把EAX内我们输入的用户名送到ESI

00403B31 |. 89D7 MOV EDI,EDX ; 把EDX内的数据“Registered User”送到EDI

00403B33 |. 39D0 CMP EAX,EDX ; 用“Registered User”和我们输入的用户名作比较

00403B35 |. 0F84 8F000000 JE CrackMe3.00403BCA ; 相同则跳

00403B3B |. 85F6 TEST ESI,ESI ; 看看ESI中是否有数据,主要是看看我们有没有输入用户名

00403B3D |. 74 68 JE SHORT CrackMe3.00403BA7 ; 用户名为空则跳00403B3F |. 85FF TEST EDI,EDI

00403B41 |. 74 6B JE SHORT CrackMe3.00403BAE

00403B43 |. 8B46 FC MOV EAX,DWORD PTR DS:[ESI-4] ; 用户名长度送EAX

00403B46 |. 8B57 FC MOV EDX,DWORD PTR DS:[EDI-4] ; “Registered User”字串的长度送EDX

00403B49 |. 29D0 SUB EAX,EDX ; 把用户名长度和“Registered User”字串长度相减

00403B4B |. 77 02 JA SHORT CrackMe3.00403B4F ; 用户名长度大于“Registered User”长度则跳

00403B4D |. 01C2 ADD EDX,EAX ; 把减后值与“Registered User”长度相加,即用户名长度

00403B4F |> 52 PUSH EDX

00403B50 |. C1EA 02 SHR EDX,2 ; 用户名长度值右移2位,这里相当于长度除以4

00403B53 |. 74 26 JE SHORT CrackMe3.00403B7B ; 上面的指令及这条指令就是判断用户名长度最少不能低于4

00403B55 |> 8B0E MOV ECX,DWORD PTR DS:[ESI] ; 把我们输入的用户名送到ECX

00403B57 |. 8B1F MOV EBX,DWORD PTR DS:[EDI] ; 把“Registered User”送到EBX

00403B59 |. 39D9 CMP ECX,EBX ; 比较

00403B5B |. 75 58 JNZ SHORT CrackMe3.00403BB5 ; 不等则完蛋

根据上面的分析,我们知道用户名必须是“Registered User”。我们按F9 键让程序运行,出现错误对话框,点确定,重新在第一个编辑框中输入“Registered User”,再次点击那个“Register now !”按钮,被OllyDBG 拦下。因为地址00440F34 处的那个CALL 我们已经分析清楚了,这次就不用再按F7 键跟进去了,直接按F8 键通过。我们一路按F8 键,来到第二个关键代码处:

00440F49 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 取输入的注册码

00440F4C |. BA 2C104400 MOV EDX,CrackMe3.0044102C ; ASCII "GFX-754-IER-954"

00440F51 |. E8 D62BFCFF CALL CrackMe3.00403B2C ; 关键,要用F7跟进去

00440F56 |. 75 1A JNZ SHORT CrackMe3.00440F72 ; 这里跳走就完蛋

大家注意看一下,地址00440F51 处的CALL CrackMe3.00403B2C 和上面我们分析的地址00440F34 处的CALL CrackMe3.00403B2C 是不是汇编指令都一样啊?这说明检测用户名和注册码是用的同一个子程序。而这个子程序CALL 我们在上面已经分析过了。我们执行到现在可以很容易得出结论,这个CALL 也就是把我们输入的注册码与00440F4C 地址处指令后的“GFX-754-IER-954”作比较,相等则OK。好了,我们已经得到足够的信息了。现在我们在菜单查看->断点上点击一下,打开断点窗口(也可以通过组合键ALT+B 或点击工具栏上那个“B”图标打开断点窗口):

为什么要做这一步,而不是把这个断点删除呢?这里主要是为了保险一点,万一分析错误,我们还要接着分析,要是把断点删除了就要做一些重复工作了。还是先禁用一下,如果经过实际验证证明我们的分析是正确的,再删不迟。现在我们把断点禁用,在OllyDBG 中按F9 键让程序运行。输入我们经分析得出的内容:

用户名:Registered User

注册码:GFX-754-IER-954

点击“Register now !”按钮,呵呵,终于成功了:

(三)-函数参考

现在进入第三篇,这一篇我们重点讲解怎样使用OllyDBG 中的函数参考(即名称参考)功能。仍然选择https://www.doczj.com/doc/8011724362.html, 镜像打包中的一个名称为CrackHead 的crackme。老规矩,先运行一下这个程序看看:

呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是Shit 啊,呵呵),在下拉菜单中选“Try It”,会来到如下界面:

我们点一下那个“Check It”按钮试一下,哦,竟然没反应!我再输个“78787878”试试,还是没反应。再试试输入字母或其它字符,输不进去。由此判断注册码应该都是数字,只有输入正确的注册码才有动静。用PEiD 检测一下,结果为MASM32 / TASM32,怪不得程序比较小。信息收集的差不多了,现在关掉这个程序,我们用OllyDBG 载入,按F9 键直接让它运行起来,依次点击上面图中所说的菜单,使被调试程序显示如上面的第二个图。先不要点那个“Check It”按钮,保留上图的状态。现在我们没有什么字串好参考了,我们就在API 函数上下断点,来让被调试程序中断在我们希望的地方。我们在OllyDBG 的反汇编窗口中右击鼠标,在弹出菜单中选择查找->当前模块中的名称(标签),或者我们通过按CTR+N 组合键也可以达到同样的效果(注意在进行此操作时要在OllyDBG 中保证是在当前被调试程序的领空,我在第一篇中已经介绍了领空的概念,如我这里调试这个程序时OllyDBG 的标题栏显示的就是“[CPU - 主线程, 模块- CrackHea]”,这表明我们当前在被调试程序的领空)。通过上面的操作后会弹出一个对话框,如图:

对于这样的编辑框中输注册码的程序我们要设断点首选的API 函数就是GetDlgItemT ext 及GetWindowText。每个函数都有两个版本,一个是ASCII 版,在函数后添加一个A 表示,如GetDlgItemT extA,另一个是UNICODE 版,在函数后添加一个W 表示。如GetDlgItemTextW。对于编译为UNCODE 版的程序可能在Win98 下不能运行,因为Win98 并非是完全支持UNICODE 的系统。而NT 系统则从底层支持UNICODE,它可以在操作系统内对字串进行转换,同时支持ASCII 和UNICODE 版本函数的调用。一般我们打开的程序看到的调用都是ASCII 类型的函数,以“A”结尾。又跑题了,呵呵。现在回到我们调试的程序上来,我们现在就是要找一下我们调试的程序有没有调用GetDlgItemTextA 或GetWindowTextA 函数。还好,找到一个GetWindowTextA。在这个函数上右击,在弹出菜单上选择“在每个参考上设置断点”,我们会在OllyDBG 窗口最下面的那个状态栏里看到“已设置2 个断点”。另一种方法就是那个GetWindowT extA 函数上右击,在弹出菜单上选择“查找输入函数参考”(或者按回车键),将会出现下面的对话框:

看上图,我们可以把两条都设上断点。这个程序只需在第一条指令设断点就可以了。好,我们现在按前面提到的第一条方法,就是“在每个参考上设置断点”,这样上图中的两条指令都会设上断点。断点设好后我们转到我们调试的程序上来,现在我们在被我们调试的程序上点击那个“Check It”按钮,被OllyDBG 断下:

00401323 |. E8 4C010000 CALL ; GetWindowTextA

00401328 |. E8 A5000000 CALL CrackHea.004013D2 ; 关键,

要按F7键跟进去

0040132D |. 3BC6 CMP EAX,ESI ; 比较0040132F |. 75 42 JNZ SHORT CrackHea.00401373 ; 不等则完蛋

00401331 |. EB 2C JMP SHORT CrackHea.0040135F

00401333 |. 4E 6F 77 20 7> ASCII "Now write a keyg"

00401343 |. 65 6E 20 61 6> ASCII "en and tut and y"

00401353 |. 6F 75 27 72 6> ASCII "ou're done.",0

0040135F |> 6A 00 PUSH 0 ; Style = MB_OK|MB_APPLMODAL

00401361 |. 68 0F304000 PUSH CrackHea.0040300F ; Title = "Crudd's Crack Head"

00401366 |. 68 33134000 PUSH CrackHea.00401333 ; Text = "Now write a keygen and tut and you're done."

0040136B |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; hOwner

0040136E |. E8 19010000 CALL ; MessageBoxA

从上面的代码,我们很容易看出00401328 地址处的CALL CrackHea.004013D2 是关键,必须仔细跟踪。而注册成功则会显示一个对话框,标题是“Crudd's Crack Head”,对话框显示的内容是“Now write a keygen and tut and you're done.”现在我按一下F8,准备步进到00401328 地址处的那条CALL CrackHea.004013D2 指令后再按F7 键跟进去。等等,怎么回事?怎么按一下F8 键跑到这来了:

00401474 $- FF25 2C204000 JMP DWORD PTR DS:[<&USER32.GetWindowText> ; USER32.GetWindowTextA

0040147A $- FF25 30204000 JMP DWORD PTR DS:[<&USER32.LoadCursorA>] ; USER32.LoadCursorA

00401480 $- FF25 1C204000 JMP DWORD PTR DS:[<&USER32.LoadIconA>] ; USER32.LoadIconA

00401486 $- FF25 20204000 JMP DWORD PTR DS:[<&USER32.LoadMenuA>] ; USER32.LoadMenuA

0040148C $- FF25 24204000 JMP DWORD PTR DS:[<&USER32.MessageBoxA>] ; USER32.MessageBoxA

原来是跳到另一个断点了。这个断点我们不需要,按一下F2 键删掉它吧。删掉00401474 地址处的断点后,我再按F8 键,呵,完了,跑到User32.dll 的领空了。看一下OllyDBG 的标题栏:“[CPU - 主线程, 模块- USER32],跑到系统领空了,OllyDBG 反汇编窗口中显示代码是这样:

77D3213C 6A 0C PUSH 0C

77D3213E 68 A021D377 PUSH USER32.77D321A0

77D32143 E8 7864FEFF CALL USER32.77D185C0

怎么办?别急,我们按一下ALT+F9 组合键,呵,回来了:

00401328 |. E8 A5000000 CALL CrackHea.004013D2 ; 关键,要按F7键跟进去

0040132D |. 3BC6 CMP EAX,ESI ; 比较0040132F |. 75 42 JNZ SHORT CrackHea.00401373 ; 不等则完蛋

光标停在00401328 地址处的那条指令上。现在我们按F7 键跟进:

004013D2 /$ 56 PUSH ESI ; ESI入栈004013D3 |. 33C0 XOR EAX,EAX ; EAX清零004013D5 |. 8D35 C4334000 LEA ESI,DWORD PTR DS:[4033C4] ; 把注册码框中的数值送到ESI

004013DB |. 33C9 XOR ECX,ECX ; ECX清零004013DD |. 33D2 XOR EDX,EDX ; EDX清零004013DF |. 8A06 MOV AL,BYTE PTR DS:[ESI] ; 把注册码中的每个字符送到AL

004013E1 |. 46 INC ESI ; 指针加1,指向下一个字符

004013E2 |. 3C 2D CMP AL,2D ; 把取得的字符与16进制值为2D的字符(即“-”)比较,这里主要用于判断输入的是不是负数

004013E4 |. 75 08 JNZ SHORT CrackHea.004013EE ; 不等则跳004013E6 |. BA FFFFFFFF MOV EDX,-1 ; 如果输入的是负数,则把-1送到EDX,即16进制FFFFFFFF

004013EB |. 8A06 MOV AL,BYTE PTR DS:[ESI] ; 取“-”号后的第一个字符

004013ED |. 46 INC ESI ; 指针加1,指向再下一个字符

004013EE |> EB 0B JMP SHORT CrackHea.004013FB

004013F0 |> 2C 30 SUB AL,30 ; 每位字符减16进制的30,因为这里都是数字,如1的ASCII码是“31H”,减30H后为1,即我们平时看到的数值

004013F2 |. 8D0C89 LEA ECX,DWORD PTR DS:[ECX+ECX*4] ; 把前面运算后保存在ECX中的结果乘5再送到ECX

004013F5 |. 8D0C48 LEA ECX,DWORD PTR DS:[EAX+ECX*2] ; 每位字符运算后的值与2倍上一位字符运算后值相加后送ECX

004013F8 |. 8A06 MOV AL,BYTE PTR DS:[ESI] ; 取下一个字符

004013FA |. 46 INC ESI ; 指针加1,指向再下一个字符

004013FB |> 0AC0 OR AL,AL

004013FD |.^ 75 F1 JNZ SHORT CrackHea.004013F0 ; 上面一条

和这一条指令主要是用来判断是否已把用户输入的注册码计算完

004013FF |. 8D040A LEA EAX,DWORD PTR DS:[EDX+ECX] ; 把EDX中的值与经过上面运算后的ECX中值相加送到EAX

00401402 |. 33C2 XOR EAX,EDX ; 把EAX与EDX异或。如果我们输入的是负数,则此处功能就是把EAX中的值取反

00401404 |. 5E POP ESI ; ESI出栈。看到这条和下一条指令,我们要考虑一下这个ESI的值是哪里运算得出的呢?

00401405 |. 81F6 53757A79 XOR ESI,797A7553 ; 把ESI中的值与797A7553H异或

0040140B \. C3 RETN

-函数参(2)

这里留下了一个问题:那个ESI 寄存器中的值是从哪运算出来的?先不管这里,我们接着按F8 键往下走,来到0040140B 地址处的那条RETN 指令(这里可以通过在调试选项的“命令”标签中勾选“使用RET 代替RETN”来更改返回指令的显示方式),再按一下F8,我们就走出00401328 地址处的那个CALL 了。现在我们回到了这里:

0040132D |. 3BC6 CMP EAX,ESI ; 比较0040132F |. 75 42 JNZ SHORT CrackHea.00401373 ; 不等则完蛋

光标停在了0040132D 地址处的那条指令上。根据前面的分析,我们知道EAX 中存放的是我们输入的注册码经过计算后的值。我们来看一下信息窗口:

ESI=E6B5F2F9

EAX=FF439EBE

左键选择信息窗口中的ESI=E6B5F2F9,再按右键,在弹出菜单上选“修改寄存器”,我们会看到这样一个窗口:

可能你的显示跟我不一样,因为这个crackme 中已经说了每个机器的序列号不一样。关掉上面的窗口,再对信息窗口中的EAX=FF439EBE 做同样操作:

由上图我们知道了原来前面分析的对我们输入的注册码进行处理后的结果就是把字符格式转为数字格式。我们原来输入的是字串“12345666”,现在转换为了数字12345666。这下就很清楚了,随便在上面那个修改ESI 图中显示的有符号或无符号编辑框中复制一个,粘贴到我们调试的程序中的编辑框中试一下:

呵呵,成功了。且慢高兴,这个crackme 是要求写出注册机的。我们先不要求写注册机,但注册的算法我们要搞清楚。还记得我在前面说到的那个ESI 寄存器值的问题吗?现在看看我们上面的分析,其实对做注册机来说是没有多少帮助的。要搞清注册算法,必须知道上面那个ESI 寄存器值是如何产生的,这弄清楚后才能真正清楚这个crackme 算法。今天就先说到这里,关于如何追出ESI 寄存器的值我就留到下一篇OllyDBG 入门系列(四)-内存断点中再讲吧。

(四)-内存断点

还记得上一篇《OllyDBG 入门系列(三)-函数参考》中的内容吗?在那篇文章中我们分析后发现一个ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个ESI 值的计算部分。今天我们的任务就是使用OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个crackme,附件我就不再上传了,用上篇中的附件就可以了。下面我们开始:

还记得我们上篇中所说的关键代码的地方吗?温习一下:

00401323 |. E8 4C010000 CALL ; GetWindowTextA

00401328 |. E8 A5000000 CALL CrackHea.004013D2 ; 关键,要按F7键跟进去

0040132D |. 3BC6 CMP EAX,ESI ; 比较0040132F |. 75 42 JNZ SHORT CrackHea.00401373 ; 不等则完蛋

我们重新用OllyDBG 载入目标程序,F9运行来到上面代码所在的地方(你上次设的断点应该没删吧?),我们向上看看能不能找到那个ESI 寄存器中最近是在哪里赋的值。哈哈,原来就在附近啊:

我们现在知道ESI 寄存器的值是从内存地址40339C 中送过来的,那内存地址40339C 中的数据是什么时候产生的呢?大家注意,我这里信息窗口中显示的是DS:[0040339C]=9FCF87AA,你那可能是DS:[0040339C]=XXXXXXXX,这里的XXXXXXXX 表示的是其它的值,就是说与我这里显示的9FCF87AA 不一样。我们按上图的操作在数据窗口中看一下:

软件破解入门教程

先教大家一些基础知识,学习破解其实是要和程序打交道的,汇编是破解程序的必备知识,但有可能部分朋友都没有学习过汇编语言,所以我就在这里叫大家一些简单实用的破解语句吧! ---------------------------------------------------------------------------------------------------------------- 语句:cmp a,b //cmp是比较的意思!在这里假如a=1,b=2 那么就是a与b比较大小. mov a,b //mov是赋值语句,把b的值赋给a. je/jz //就是相等就到指定位置(也叫跳转). jne/jnz //不相等就到指定位置. jmp //无条件跳转. jl/jb //若小于就跳. ja/jg //若大于就跳. jge //若大于等于就跳. 这里以一款LRC傻瓜编辑器为例,讲解一下软件的初步破解过程。大家只要认真看我的操作一定会!假如还是不明白的话提出难点帮你解决,还不行的话直接找我!有时间给你补节课!呵呵! 目标:LRC傻瓜编辑器杀杀杀~~~~~~~~~ 简介:本软件可以让你听完一首MP3歌曲,便可编辑完成一首LRC歌词。并且本软件自身还带有MP3音乐播放和LRC歌词播放功能,没注册的软件只能使用15天。 工具/原料 我们破解或给软件脱壳最常用的软件就是OD全名叫Ollydbg,界面如图: 它是一个功能很强大的工具,左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值. 右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色突出显示. cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态. 左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息. 右下角的是当前堆栈情况,还有注释啊. 步骤/方法 1. 我们要想破解一个软件就是修改它的代码,我们要想在这代码的海洋里找到我们破解关键的代码确实很棘 手,所以我们必须找到一定的线索,一便我们顺藤摸瓜的找到我们想要的东东,现在的关键问题就是什么

把超星阅览器的文件转换为PDF文件

把超星阅览器的文件转换为PDF文件收藏 如果你是超星的用户的话,这篇文章对你也许有用: 大家都知道,从超星上面下载的书籍只能相应的用户使用,其他用户打开该书籍时还需要用户名和密码,这让很多用户有点不便。其实,可以把超星的内容转换为pdf文件,然后再传给其他用户就行了。大家都知道,PDF文件是通过打印机端口进行转换的,Adobe Reader 的专业版支持把PS(postscript)文件转换为PDF文件,而超星阅读器支持把书籍实体打印,也支持打印为一个postcsript文件。因此,通过把超星书籍转换为ps文件,再转换为pdf文件就行了,而且这样转换的速度极快(我转换一本500多页的书籍,全部时间才1.5分钟就行了) 1)安装一个Adobe Reader专业版,用户通过ps脚本创建pdf文件。 2)没有实体打印机的用户,创建一个PS打印机(记住,一定需要PS打印机,比如IBM 4079 Color Jetprinter PS),并设置为默认打印机。 3)打开你自己希望转换的书籍,点击打印,选择打印到文件 4)打印名称选择XXX.ps(加上ps扩展名),该ps文件保存在${超星文件夹}/History/XXX.ps。 5)打开Adobe Reader,创建pdf文件,来源文件在${超星文件夹}/History/XXX.ps,等待转换。 6)转换完毕,保存文件就行了。 注意:打印完之后,记住把源ps文件删除,该文件占的硬盘空间比较大。 本文来自CSDN博客,转载请标明出处:https://www.doczj.com/doc/8011724362.html,/jwsh1984/archive/2006/04/30/697795.aspx

超星使用指南

《超星数字图书》数据库使用指南 一、数据库简介 超星数字图书馆是北京超星信息技术发展有限责任公司于1998年研究开发的。超星数字图书馆收录范围包括社会科学与自然科学22个大类, 我馆超星数字图书网站现有图书60多万册。 图1 二、检索方法 进入图书馆主页,点击“资源推介”里的《超星电子图书》栏目,点击即可进入《超星电子图书》的主页面。 阅读超星数字图书馆图书,需要下载并安装超星阅览器(ssreader4.0),见图1。 1.分类导航阅读图书:超星电子图书分类目录(见图1页面左侧),点击需检索的类目,将会出现该类目所包含的子类,点击子类即可显示与该子类相关的所有图书。 2.快速检索:利用单条件检索能够实现图书的书名、作者、主题的单项查询。如查教育心理学方面的书,可在书名字段输入“教育心理学”,然后按“检索”键即可。 3.高级检索:利用高级检索可以实现图书的多条件查询。 如查找王长喜编写的大学英语的书。 点击“高级检索”进入高级检索界面(图2) 1)按检索要求选择检索字段,在其后的检索框中填入检索词。(每个检索框之间选择逻辑算符:并且、或)。检索策略可见图2。 2)点“检索”键,开始查找。显示检索结果,并逐条显示命中图书的书名、作者、出版日期、主题词、分类等,共读者选择(见图2)。 分 类 检索 在此下载 浏览 器

点击书名阅读图书 图2 点击此处进行 书签管理 点击此处下载图书 图3 三、检索结果处理 阅读图书方法:从查询结果中选择您感兴趣的图书,点击图书书名超链接即可自动启动超星阅览器在线阅读图书。 图书下载:在书籍阅读页面中点鼠标右键,可出现功能菜单,点击下载按钮可将图书下载本机保存。 文字识别:在书籍阅读页面点击鼠标右键,在右键菜单中选择“文字识别”,在所要识别的文字上画框,框中的文字即会被识别成文本显示在弹出的面板中,选择“导入编辑”可以在编辑中修改识别结果,选择“保存”即可将识别结果保存为TXT文本文件。 剪切图像:在右键菜单中选择“剪切图像”,在所要剪切的图像上画框,剪切结果会保存在剪切版中,通过“粘贴”功能即可粘贴到“画图”等工具中进行修改或保存。 书签管理:阅读内容,可建“书签”,下次看该书时,点“书签管理”,直接阅读该页。

PDG转PDF全攻略(超星电子书打印破解)

PDG转PDF全攻略(超星电子书打印破解) 法一:(利用Acrobat的“正确配置的”虚拟打印机) 安装Adobe Acrobat 7 或者以上版本。 在控制面板-传真和打印机中把Adobe PDF打印机这个名字改成其它的名称(可能超星打印把PDF屏蔽了,我的电脑上不需要修改),所以要改个名字迷惑它。 然后在超星软件里面选图书-打印,选择“指定起始页”,设置好页数(可以设置很大)后,在打印机选项里面选已经被你改了名字的PDF打印机,打印后就可以拥有一个完整的PDF文件了,而不是一堆碎碎的PDG文件。 转完格式记得把名字再改回“Adobe PDF”,免得影响以后WORD或者网页转成PDF。 梦零已经试过,很好用。不过,此法及以下二法,均需要建立在Acrobat的软件之上,唉。 法二: 自行安装虚拟PS打印机: 1:PS驱动根本不用下载,直接添加打印机,然后选择一款后面带有PS的打印机,最好选择彩色打印机,比如:HP Color LaserJet 8550-PS,这样就可以打印彩色书籍了,端口只要选择不冲突就行,一路下一步安装结束,就可以使用了 2:打印时选择打印到文件,这时需要输入文件名,自己连路径一起输入,扩展名直接用ps就行,如果没有路径打印出来的文件就在超星的history文件中。 3:然后就可以使用Acrobat Distiller转换成PDF文件,速度比Acrobat虚拟打印机快很多。(机器配置:CPU 2.8G,256MB内存,XP-SP2)

4:页数是不用数的,选中所有的PDG文件,有多少就有多少页。 这种方法不错,比PDF的打印速度快很多。 法三: 好多图书是超星PDG格式的,没有做目录的话,一页页阅读很不方便。解决方案: 基本上每个学校图书馆都购买了超星数字图书馆版权,在校学生可以随便浏览以及下载任何你想要的书籍。通过学会下面的破解,个人认为最大的好处是不需要花不必要的时间购买任何书籍了,下载超星图书,然后破解后选择一页双排的打印就能以接近书价的3折弄到打印版的图书。这对于使用大学教材或者特别贵的书的同学来说简直是个伟大的发现。 离开前有点儿舍不得学校啊,尤其是校园网……先别拍我,话说校园网把P2P 给封了,实在令人咬牙切齿,尤其是我这种磨硬盘爱好者,要说此时的校园网还能令人不舍,就只有因为图书馆服务器上的那些个资源了,什么知网上的论文那,KUKE上的音乐那(https://www.doczj.com/doc/8011724362.html,/其中有个很不错的乐谱库,您若是喜欢钢琴,可以到此地转悠一下) 尤其不舍的,就是这个超星。在此特别友情提示一下,图书馆网页上的那个链接所指向的镜像十分老旧,真正的好地方在这里: https://www.doczj.com/doc/8011724362.html,/library.jsp?username=zncjzfdx(选择教育网更快一点)这里的书已经更新到08年出版的了,种类也广那是数量也多,虽说被超星收进来的书未必有您想找的,而且质量那是良莠不齐,但是庞大的规模之下,也是经常能淘到宝。 您若是对超星有些了解,就会知道,超星有点恶心。其一是它的诸多限制,比如下载的图书有阅读时间上的限制,一般是半年,半年之后,下载的一切都会变成废物;再比如,匿名下载的书只能在本机上阅读,它认机器码的,比如我的机器添了块硬盘,以前下载的书,也就全都报废了,还有比如下载的数量限制,打印页数的限制等等;其二就是超星图书的格式很垃圾,一个本书的文件夹里边堆满了与其页数相等数量的*.pdg,零碎不堪而且需要专门的垃圾阅读软件,阅读翻页很是不爽快,堆积多了,您要是全盘杀次毒那是慢得令人抓狂……总之,超星的恶心造成了其电子书无法方便阅读、无法大量收藏、无法互相交流等一系列问题,整个是全方位与读书人作对。 几句过渡: 定思痛之后,众多读书人开始想办法解决这些问题,各种破解软件层出,超星呢,也不断升级其加密方法,双方斗争可谓惨烈,然而魔高一尺,道高一丈,经过前辈们的长期积累,总结出的最好的办法就是将超星图书转化成通用的PDF 格式的图书以实现克服超星图书的缺点,可喜的是,通过转化,现在的超星,已经几乎成为一座自由的PDF格式电子书的图书馆了。

超星移动客户端使用说明

超星移动图书馆客户端使用说明 2014.04

目录 超星移动图书馆客户端功能说明 (3) 1.馆藏查询 (3) (1)馆藏查询 (3) (2)图书预约 (5) (3)借阅信息 (5) (4)借阅图书续借 (6) (5)条码扫描 (6) 2.学术资源查询 (6) (1)学术资源查询 (6) (2)获取全文方式 (8) (3)评论 (10) (4)分享 (11) 3.阅读视听空间 (11) (1)书架 (11) (2)报纸 (15) (3)视频、有声读物 (16) (4)公开课 (17) 4.我的订阅 (20) 5.APP+ (23) 6.个人中心 (24) (1)用户信息编辑 (24) (2)我的收藏 (25) (3)扫描历史 (26) (4)借阅信息 (26) (5)账户绑定 (27) (6)离线下载 (27) (7)设置 (28)

超星移动图书馆客户端功能说明 超星移动图书馆除了支持网页版的浏览还提供基于ios,android系统的手机客户端体验。超星移动图书馆客户端的布局清晰明了,操作方便,内容模块化,有更好的用户体验。客户端内同样嵌入了基于元数据整合的一站式搜索引擎,不仅提供海量图书的检索与全文阅读,还提供图书资源的下载,阅读资源更加方便快捷。馆藏书目模块与传统opac系统对接,实现馆藏查询、续借、预约等功能,另外客户端推出条码扫描功能,馆藏书目情况一拍即得。 1.馆藏查询 (1)馆藏查询 第一步:点击首页“馆藏查询”,打开馆藏查询页面。 第二步:输入想要查询的图书,点击搜索。 第三步:在检索结果页面选择要查询的图书,如图所示。

第四步:查看馆藏信息,如图所示

软件注册码破解案例教程

软件注册码破解案例教程 序言: 所谓计算机软件注册码是指为了不受限制地实现计算机软件的功能,而在软件安装或使用的过程中,按照指定的要求所输入的、由字母、数字或其它符号所组成的序列,因此,注册码有时又可称为序列号,只是在特定的条件下,两者会有所区别。之所以要对计算机软件设置注册码,开发者的初衷在于防止用户使用盗版软件,至今仍有部分软件注册码在发挥着这样的功能,最为典型的就是安装型注册码,即在软件安装过程中按要求必须输入的注册码,如果没有正确输入注册码,则软件根本不能安装到计算机中去。但是现在已经有了愈来愈多的软件注册码并非是对软件安装的限制,而是对软件其它方面的限制,比如,如果不输入正确的注册码,虽然可以安装并使用,但不能实现软件的全部功能等。 教程案例: 要破解的软件:网络填表终结者 破解需要的软件: 侦壳language.exe 脱壳AspackDie.exe 反编译W32Dasm黄金中文版 16进制编辑器UltraEdit.rar 在破解之前先复习一下基础知识: 一、破解的等级 初级:修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破。 中级:追出软件的注册码。 高级:写出注册机。 二、用w32dasm破解的一般步骤: 1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册。 2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示 信息,将错误提示信息记下来。 3.侦测有无加壳(第一课).若加壳,脱壳(第二课)。

4.pw32dasmgold反汇编。 5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键。 6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call。 7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转的偏移地址(实际修改地址)。 8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存。 壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact。 脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件 unaspack,caspr,upx,unpecompact,procdump。 实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成: 第一列行地址(虚拟地址) 第二列机器码(最终修改时用ultraedit修改) 第三列汇编指令 第一列第二列第三列 :0041BE38 2B45F0 sub eax, dword ptr [ebp-10] :0041BE3B 6A42 push 00000042 :0041BE3D 50 push eax :0041BE3E FF75F4 push [ebp-0C] :0041BE41 FF75F0 push [ebp-10] :0041BE44 FF35A8AB4400 push dword ptr [0044ABA8] 两种不同情况的不同修改方法: 1.修改为jmp: je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息。 2.修改为nop: je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转)nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。 以上为必备知识。下面开始我们的破解之旅…… 软件破解:

超星阅览器使用方法

超星阅览器 使用方法 读者培训部 联系方式:84892083 xxkfb@https://www.doczj.com/doc/8011724362.html,

一.超星阅览器(ssreader4.0)功能介绍 阅读图书(pdg)需要下载并安装专用阅读工具——超星阅览器(ssreader),目前最新正式版本是4.0。除阅读图书外,超星阅览器还可用于扫描资料,采集整理网络资源等。超星阅览器软件界面分布说明: 主菜单: 包括超星阅览器所有功能命令,其中“注 册”菜单是通过Internet访问超星注册中 心,注册 登录个人用户使用;“设置”菜单是超星阅 览器相关功能的设置选项。 功能耳朵:包括“资源”、“历史”、“采 集” ①“资源”包括本地图书馆资源列表,主 要用来存放下载图书.管理本地硬盘文件、 整理从远程站点复制的列表、建立个性化的专题图书馆; ②“历史”:用户通过超星阅览器访问资源的历史记录; ③“采集”:可以通过采集窗口来编辑制作超星PDG格式Eb00k; 快捷功能按钮 ①采集图标:用户可以拖动文字图片到采集图标,方便的收集资源; ②翻页工具:阅读书籍时,可以快速翻页, ③窗口: 阅读窗——书籍阅读窗口,阅读超星PDG及其他格式图书窗口 网页窗——浏览网页窗口 采集窗——制作超星Ebook窗口 下载窗——下载书籍窗口 二、超星阅览器下载、安装 第一步:超星阅览器下载(如果您已经下载,请直接看第二步) 下载方法: 访问http://https://www.doczj.com/doc/8011724362.html,/help/index.htm或从本地镜象网站的软件下载频道,单击“下载超星阅览器”超链接,在弹出的文件下载窗口中选择“将该程序保存到磁盘”.然后单击确定。 第二步:安装超星阅览器 安装方法: 超星阅览器安装程序下载完毕后,双击安装程序将进入自动安装向导,向导会引导您完成超星阅览器的安装。 ①、双击安装程序,开始安装:在开始安装之前 弹出如下图所示的提示信息,请按照提 示关闭有关超星阅览器和Internet ExpIorer窗 口,单击“是” ②、单击下一步进行安装,如图所示

超星阅览器安装

安装 系统要求 操作系统: 超星阅览器适合于运行在Microsoft Windows 的各个版本下,包括Windows98、Windows Me、Windows NT、Windows2000、Windows XP、Windows2003、Windows Vista等平台。 网络要求: 1、任何安装TCP/IP协议的网络环境,例如使用Windows98/NT/2000/XP/2003的"拨号网络"来上网,或通过局域网或专线连接下使用。 2、如果您使用Proxy(代理服务器)上网,需要根据不同类型进行设置,详细信息请参考代理服务器设置。 安装 超星阅览器安装程序下载完毕,双击安装程序将进入自动安装向导,向导会引导您完成超星阅览器的安装。 第一步:双击安装程序,开始安装; 第二步:根据安 启动和设置 如何启动超星阅览器安装超星阅览器后,会在桌面和开始菜单的程序列表中自动建立启动快捷方式,通过这些快捷方式即可启动软件。双击打开PDG文件时,超星阅览器会自动启动。在软件安装完成后,直接阅读图书,超星阅览器会自动运行。

个性化设置 软件安装完成以后,您可以直接阅读图书,也可以进行一些设置:网页 1、地址:定义主页地址; 2、过滤网页弹出窗口:过滤网页弹出的广告等小窗口。 资源 1、字体:设置资源中文字的字体、大小、颜色;背景:设置资源背景颜色; 2、全屏时显示:设置满屏时是否显示状态条、菜单栏; 3、资源列表从远程更新:选择状态,资源列表将自动检查是否 有更新。 4、显示超星图书网资源列表 启动和设置 如何启动超星阅览器 安装超星阅览器后,会在桌面和开始菜单的程序列表中自动建立 启动快捷方式,通过这些快捷方式即可启动软件。双击打开PDG文件时,超星阅览器会自动启动。在软件安装完成后,直接阅读图书,超星阅览器会自动运行。 个性化设置 软件安装完成以后,您可以直接阅读图书,也可以进行一些设置:网页 1、地址:定义主页地址;

破解超星的打印限制

在写接下来那些个“技巧”或者说“歪门邪道”之前,还请容在下啰嗦两句,第一,这些个“技巧”总是有些不守规矩的地方,法律人按说首先就是要遵重规矩的,在下是迫不得已,您要是坚定地的按规矩来,那么就不必再往下看了;第二,您若是经济条件许可,平时还请多多支持正版书籍,尤其是您喜欢的学者,其实啊,相信爱书之人绝大多数不喜欢对着屏幕,而是梦想着坐拥书城或者半床明月半床书吧。 核心内容:PDG转PDF全攻略,核心是虚拟打印技术…… 所需软件三种:SsReader 4.0;Adobe Acrobat 7.0 Professional(或其以上版本)(校园网ftp 里就有;具体用到的实际上是Acobat Distiller这个程序,但似乎比较难找到单独下载);UltraEdit-32。 一、破解超星的打印限制 在打印超星图书的时候,超星有一个每月1000页的限制,超过限制,系统就会提示您已经达到了本月打印页数的最上限,就没法继续了。 解决方法:使用UltraEdit-32 软件打开SsReader.exe 文件,选择搜索菜单下的查找命令,在查找栏输入750D8B0764A3 然后点击下一个按钮,将搜索到的750D8B0764A3中的0D 改为2A ,最后存盘即可 PS1:一共可搜索到两处,只修改第一次搜索到的; PS2:这个修改后的SsReader.exe 文件可以备份一下,有重装超星阅读器时,可以直接替换原文件,UltraEdit-32您若没有别的用处,则可以过河拆桥,删除了。 二、设置虚拟打印机 超星限制用虚拟打印机输出PDF文档,见到Adobe Acrobat Printer就不让打印。 解决方法:在控制面板“打印机和传真”项上添加打印机,然后选择一款后面带有PS的打印机,最好选择彩色打印机,比如:HP Color LaserJet 8550-PS,这样就可以打印彩色书籍了,端口只要选择不冲突就行,一路下一步安装结束,就可以使用了。您可以将它设定为默认打印机,也可以在选择虚拟打印机时选择它。 三、虚拟打印 在校园网上的超星图书馆找到您中意的图书之后,“网通阅读”(比较快),电脑就会用修改过的SsReader 4.0打开它啦,找到本书的首页(阅读器左下角封面页前言页〈超星的书不少没有封面、您若是完美主义者,封面可以用百度图片搜索或者在豆瓣在卓越等各大购书网上找〉、缩放选择100%)然后点“图书” -》“打印”(默认的打印范围从当前页开始、比例按纸张大小不用改动)(打印页数从目录或者图书属性中可以知道,但建议直接填个超大的,比如9999999,反正打完了实际页数会自动停下来)-》“确定”……注意在打印对话框中勾选“打印到文件” -》“打印”…… 此时会弹出对话框,输入文件名(此时文件名可以直接用书名,见图书属性,复制粘贴),文件的扩展名最好为.ps(其他也可以,但*.ps或者*.prn文件Acrobat Distiller可自动识别),文件名中可以带路径,以便于查找,否则该文件默认会出现在SSREADER36(超星安装文件夹)中的History文件夹中,极少也会出现在local文件夹中,打印需要一定时间 四、后期处理 用Acrobat Distiller打开该虚拟打印的成果*.ps文件,(双击*.ps文件,Acrobat Distiller会自动开始运行;Acrobat Distiller的默认设置中,推荐选择高质量打印),很快即可转为PDF文件——大功告成。 PS:完成之后,相关的*.ps文件、*.log文件、*.dat文件统统可以删除之。 五、几点补充: 1. 个别超星图书有加密页、或者页面有问题,虚拟打印时会卡住就打不出来,这时不要急,打印的时候有一个页面显示,提示已经打了多少页了(或者查看已经打印生成的*.ps文件转

超星移动图书馆使用说明

超星 数字文献服务V3.0 用户手册 世纪超星 2007年12月

目录 目录 (2) 1、系统简介 (4) 2、使用流程 (4) 3、超星阅览器4.0版本下载与安装 (4) 3.1、超星阅览器4.0版本下载 (4) 3.2、超星阅览器4.0版本安装 (4) 4、数字文献服务V3.0功能 (7) 4.1图书检索 (7) 4.1.1分类检索 (7) 4.1.2快速检索 (8) 4.1.3高级检索 (9) 4.1.4进入读秀检索 (12) 4.2图书阅读 (13) 4.3图书排行 (13) 4.3.1首页图书排行 (13) 4.3.2图书排行菜单 (14) 4.4图书推荐 (15) 4.4.1专业推荐图书 (16) 4.4.2教师推荐图书 (17) 4.5反馈需求 (17) 4.6书签 (18) 4.6.1设置书签 (18) 4.6.2书签管理 (19) 4.7公告及FAQ (20) 4.7.1公告 (21) 4.7.2 FAQ (22) 5、超星4.0版本阅览器使用说明 (23) 5.1下载与安装 (23) 5.2启动和设置 (23) 5.2.1如何启动超星阅览器 (23) 5.2.2个性化设置 (24) 5.3用户注册 (26) 5.3.1新用户注册 (26) 5.3.2用户登陆 (28) 5.3.3离线登陆 (29) 5.4资源列表 (31) 5.4.1我的图书馆 (31) 5.4.2图书馆模版 (32) 5.4.3卡片显示方式 (33) 5.5图书阅读 (34)

5.5.1翻页工具 (34) 5.5.2缩放工具 (34) 5.5.3其他工具 (34) 5.6图书下载 (35) 5.7图书打印 (36) 5.8其他功能 (37) 5.8.1采集 (37) 5.8.2多窗口 (40) 5.8.3历史 (40) 5.8.4标注 (42) 6、常见问题 (44) 6.1如何阅读电子图书 (44) 6.2超星阅览器3.91为什么不能阅读图书 (44) 6.3下载图书时一直提示进度为0% (45) 6.4下载的图书如何拷贝到其他机器上阅读 (45) 6.5访问时提示需要输入用户名、密码 (45) 6.6超星阅览器3.91下的图书在4.0上阅读 (45)

3DS破解版使用教学教程

注意事项:切记不要初始化系统,不要更改或删除存储卡里除游戏以外的任何文件。A9HL破解的机器请务必把存储卡内的除游戏以为的所有文件(特别是固件)备份下保存好。否则万一变砖可能无法修复。如需换存储卡,直接把备份的复制到新的存储卡即可正常使用。先备份然后在安装游戏。因为安装游戏后,再备份会把安装的游戏也备份进去,占用空间而且没有用。有GW红卡的用户,切勿在红龙系统下升级。否则变回正版,需要再次硬降破解。 1,操作方法:和正版一样正常开机,然后选择游戏图标进游戏即可。(由于游戏安装很慢,游戏已经拷贝在存储卡里,需自己按教程安装) 2,安装游戏:网上下载CIA格式的游戏拷贝到存储卡的GAME文件夹里。然后插卡开机,选择管理器 此图标进入,

方先向右选择即看到文件夹 选择GAME(本店默认放的位置)文件夹打开即可看到游戏(不识别汉

子的,请改名)上屏有按键提示,A是选择一个安装,L+R+A是所有一起安装,这个安装过程很慢,1G文件大概20分钟,上屏可以看见所选游戏的大小。自己选择如何安装,游戏大小和CIA安装包一样的大小。存储卡内要留有足够的空间安装, 安装好后可以按X把安装好的游戏CIA文件删除。安装后按HOME键返回主菜单即可

看到礼包,点开就显示游戏图标了, 。 3,删除游戏:进入设置, 选管理,选第一个管

理,选择第一个 即可看到游戏图标,选择要删除的游戏删除就行。 。 4,目前系统可以联网正常更新,非汉化版的游戏也可以在线更新,但是汉化版的游戏不要在线更新,在线更新后的汉化游戏会被 损坏,要联机玩的话需要自己网上找相关汉化游戏补丁 5,本身有GW卡的还想继续使用GW卡玩的,方法为按住下键不放开机,然后会提示按L+R+SELECT键进入红龙系统,就可以

OllyDBG破解工具入门教程

OllyDBG破解工具入门教程 一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参 考 TT 小组翻译的中文帮助: 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标或显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。 寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。 堆栈窗口:显示当前线程的堆栈。 要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一 下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的 选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签: 因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。 在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个 UDD 目录不清楚。我这简单解释一下:这个 UDD 目录的作用是保存你调试的工作。比如你调试一个软件,设置了断点,添加了注释,一次没做完,这时 OllyDBG 就会把你所做的工作保存到这个 UDD 目录,以便你下次调试时可以继续以前的工作。 如果不设置这个 UDD 目录,OllyDBG 默认是在其安装目录下保存这些后缀名为 udd 的文件,时间长了就会显的很乱,所以还是建议专门设置一个目录来保存这些文件。 另外一个重要的选项就是调试选项,可通过菜单 选项->调试设置 来配置:

OD入门系列图文详细教程-破解做辅助起步(一)

OllyDBG的安装与配置 OllyDBG1.10版的发布版本是个ZIP压缩包,只要解压到一个目录下,运行OllyDBG.exe就可以了。汉化版的发布版本是个RAR压缩包,同样只需解压到一个目录下运行OllyDBG.exe即可: 学习各种外挂制作技术,马上去百度搜索"魔鬼作坊"点击第一个站进入、快速成为做挂达人。 OllyDBG中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考TT小组翻译的中文帮助:

反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX数据、反汇编、注释可以通过在窗口中右击出现的菜单界面选项->隐藏标题或显示标题来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。 寄存器窗口:显示当前所选线程的CPU寄存器内容。同样点击标签寄存器(FPU)可以切换显示寄存器的方式。 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。 堆栈窗口:显示当前线程的堆栈。 要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一下OllyDBG就可以生效了。 启动后我们要把插件及UDD的目录配置为绝对路径,点击菜单上的选项->界面,将会出来一个界面选项的对话框,我们 点击其中的目录标签: 因为我这里是把OllyDBG解压在F:\OllyDBG目录下,所以相应的UDD目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改OllyDBG中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动OllyDBG。在这个对话框上点确定,重新启动一下OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个UDD目录不清楚。我这简单解释一下:这个UDD目录的作用是保存你调试的工作。比如你调试一个软件,设置了断点,添加了注释,一次没做完,这时OllyDBG就会把你所做的工作保存到这个UDD目录,以便你下次调试时可以继续以前的工作。如果不设置这个UDD目录,OllyDBG默认是在其安装目录下保存这些后缀名为udd的文件,时间长了就会显的很乱,所以还是建议专门设置一个目录来保存这些文件。

超星移动图书馆使用说明

北京超星 数字文献服务V3.0 用户手册 北京世纪超星 2007年12月

目录 目录 (2) 1、系统简介 (4) 2、使用流程 (4) 3、超星阅览器4.0版本下载与安装 (4) 3.1、超星阅览器4.0版本下载 (4) 3.2、超星阅览器4.0版本安装 (4) 4、数字文献服务V3.0功能 (7) 4.1图书检索 (7) 4.1.1分类检索 (7) 4.1.2快速检索 (8) 4.1.3高级检索 (9) 4.1.4进入读秀检索 (12) 4.2图书阅读 (13) 4.3图书排行 (13) 4.3.1首页图书排行 (13) 4.3.2图书排行菜单 (14) 4.4图书推荐 (15) 4.4.1专业推荐图书 (16) 4.4.2教师推荐图书 (17) 4.5反馈需求 (17) 4.6书签 (18) 4.6.1设置书签 (18) 4.6.2书签管理 (19) 4.7公告及FAQ (20) 4.7.1公告 (21) 4.7.2 FAQ (22) 5、超星4.0版本阅览器使用说明 (23) 5.1下载与安装 (23) 5.2启动和设置 (23) 5.2.1如何启动超星阅览器 (23) 5.2.2个性化设置 (24) 5.3用户注册 (26) 5.3.1新用户注册 (26) 5.3.2用户登陆 (28) 5.3.3离线登陆 (29) 5.4资源列表 (31) 5.4.1我的图书馆 (31) 5.4.2图书馆模版 (32) 5.4.3卡片显示方式 (33) 5.5图书阅读 (34)

5.5.1翻页工具 (34) 5.5.2缩放工具 (34) 5.5.3其他工具 (34) 5.6图书下载 (35) 5.7图书打印 (36) 5.8其他功能 (37) 5.8.1采集 (37) 5.8.2多窗口 (40) 5.8.3历史 (40) 5.8.4标注 (42) 6、常见问题 (44) 6.1如何阅读电子图书 (44) 6.2超星阅览器3.91为什么不能阅读图书 (44) 6.3下载图书时一直提示进度为0% (45) 6.4下载的图书如何拷贝到其他机器上阅读 (45) 6.5访问时提示需要输入用户名、密码 (45) 6.6超星阅览器3.91下的图书在4.0上阅读 (45)

再无限制 超星图书破解 打破超星封锁——PDG转PDF方法 免费下载

打破超星封锁——PDG转PDF方法 用超星阅览器阅读PDG格式图书,需要一页一页地翻,很不爽,很想转为PDF格式以便于保存、阅读和打印。在网上搜索一下,基本上都是利用PDF虚拟打印机的方法。由于新版本的ssreader对虚拟打印进行了控制,直接使用adobe acrobat以及office 2003的虚拟打印机需要改名,操作繁琐,简单试了几次没有成功;又不想下载安装其他的虚拟打印机,只好暂时放弃。 偶然翻看Acrobat Distiller的帮助,发现其可以将PS格式的打印文件转为PDF文件,于是产生新的思路,经试验完全可行。现将具体方法与大家共享。 1、找到任意一款打印机的PS驱动程序,并安装。 注意:是真实打印机(非虚拟打印机)的驱动,没有打印机没关系,我们只是利用他打印到文件中,而不是纸上。另外,打印机驱动一般分两种:PCL和PS,我们需要PS驱动。PS驱动程序可到打印机生产厂商的网站上下载,比如爱吃屁(HP)。 2、打开PDG文件。 3、计算书的总页数(封面+版权+...+前言+目录+正文)。 正文的页数可以在阅览器中直接看到,其他页数的自动计算方法没来得及研究,我用笨方法:数。 4、显示封面页,选择打印,起始页为当前页,页数为刚才计算的总页数;

选择安装的PS打印机,选择打印到文件。此时会弹出对话框,输入文件名,文件的扩展名最好为.prn(其他也可以,但prn文件Acrobat Distiller可自动识别),文件名中最好带路径,以便于查找。 5、用Acrobat Distiller打开prn文件,按提示即可转为pdf文件。 我用这种方法试验,转一本近500页的书只要1,2分钟的时间(当然不包括数页数的时间),并且从封面到正文都在一个pdf文件中。词法优点: 超星为封锁虚拟打印机下了一番功夫,我相信在ssreader的以后版本中还会封锁更多的虚拟打印机。本文的方法使用真实打印机的驱动,除非超星不允许pdg文件打印到纸上,否则他永远也阻止不了我们将pdg转为pdf。 几句题外话: 网络给大家提供了信息交流的平台,给我们的工作和生活带来了很大的便利。但很多论坛对一些帖子加了诸如威望值、经验值等等限制,认为将网络划成一片片自留地,从拉拢人气的角度可以理解,但此种做法不利于大家的交流,未免太小气,且造成坛内水贴乱飞,真是浪费资源,对此种现象提出批评。 以上是转贴全部内容,以下是个人实践的经验———————————————————————————— 经过试用,其实这种方法还是非常好的,下面是我使用的经验: 1:PS驱动根本不用下载,直接添加打印机,然后选择一款后面带有PS的打印机,最好选择彩色打印机,比如:HP Color LaserJet 8550-PS,

打破超星封锁——PDG转PDF方法

用超星阅览器阅读PDG格式图书,需要一页一页地翻,很不爽,很想转为PDF格式以便于保存、阅读和打印。在网上搜索一下,基本上都是利用PDF虚拟打印机的方法。由于新版本的ssreader对虚拟打印进行了控制,直接使用adobe acrobat以及office 2003的虚拟打印机需要改名,操作繁琐,简单试了几次没有成功;又不想下载安装其他的虚拟打印机,只好暂时放弃。 偶然翻看Acrobat Distiller的帮助,发现其可以将PS格式的打印文件转为PDF文件,于是产生新的思路,经试验完全可行。现将具体方法与大家共享。 1、找到任意一款打印机的PS驱动程序,并安装。 注意:是真实打印机(非虚拟打印机)的驱动,没有打印机没关系,我们只是利用他打印到文件中,而不是纸上。另外,打印机驱动一般分两种:PCL和PS,我们需要PS驱动。PS 驱动程序可到打印机生产厂商的网站上下载,比如爱吃屁(HP)。 2、打开PDG文件。 3、计算书的总页数(封面+版权+...+前言+目录+正文)。 正文的页数可以在阅览器中直接看到,其他页数的自动计算方法没来得及研究,我用笨方法:数。 4、显示封面页,选择打印,起始页为当前页,页数为刚才计算的总页数; 选择安装的PS打印机,选择打印到文件。此时会弹出对话框,输入文件名,文件的扩展名最好为.prn(其他也可以,但prn文件Acrobat Distiller可自动识别),文件名中最好带路径,以便于查找。 5、用Acrobat Distiller打开prn文件,按提示即可转为pdf文件。 我用这种方法试验,转一本近500页的书只要1,2分钟的时间(当然不包括数页数的时间),并且从封面到正文都在一个pdf文件中。 词法优点: 超星为封锁虚拟打印机下了一番功夫,我相信在ssreader的以后版本中还会封锁更多的虚拟打印机。本文的方法使用真实打印机的驱动,除非超星不允许pdg文件打印到纸上,否则他永远也阻止不了我们将pdg转为pdf。 几句题外话: 网络给大家提供了信息交流的平台,给我们的工作和生活带来了很大的便利。但很多论坛对一些帖子加了诸如威望值、经验值等等限制,认为将网络划成一片片自留地,从拉拢人气的角度可以理解,但此种做法不利于大家的交流,未免太小气,且造成坛内水贴乱飞,真是浪费资源,对此种现象提出批评。 以上是转贴全部内容,以下是个人实践的经验———————————————————————————— 经过试用,其实这种方法还是非常好的,下面是我使用的经验: 1:PS驱动根本不用下载,直接添加打印机,然后选择一款后面带有PS的打印机,最好选择彩色打印机,比如:HP Color LaserJet 8550-PS,这样就可以打印彩色书籍了,端口只要选择不冲突就行,一路下一步安装结束,就可以使用了 2:打印时选择打印到文件,这时需要输入文件名,自己连路径一起输入,扩展名直接用ps 就行,如果没有路径打印出来的文件就在超星的history文件中。 3:然后就可以使用Acrobat Distiller转换成PDF文件,速度比Acrobat虚拟打印机快很多。(机器配置:CPU 2.8G,256MB内存,XP-SP2) 4:页数是不用数的,选中所有的PDG文件,有多少就有多少页。 这种方法不错,比PDF的打印速度快很多。

吾爱破解安卓逆向入门教程(五)

吾爱破解安卓逆向入门教程(五) 引用: 软件:计算管家v3.4目标:破解授权会员 目标软件验证方法:软件获取设备号号后调用支付宝进行付费,付费成功后会返回对应参数,点击授权按钮后即完成付费用户授权。 实战目标:点击授权按钮直接授权成功,小雨之前也做过3.3的分析,我的手段比较简单,适合新手 软件界面:0x0 脱壳 本软件v3.3使用的爱加密壳,v3.4使用的360壳,不过对于那些大鸟们来说,什么壳都没用,目前我们处于smali阶段,不介绍壳的脱法,不像pc破解一上来就告诉你如何脱壳,后面阶段,将会由@PoJie_小雨给大家讲述脱壳实战。0x1 运行软件找关键点 我们首先来到付费页面,如下图:开头中我已经讲过这个软件的验证流程,既然这样,我们直接点击授权按钮观察有什么关键点软件提示我们并没有获取授权,那么这类文字通常会以文本形式写在String.xml,对应的布局文件或者以unicode形式写在smali中,对于游戏来说,这类可能是以图片形式放在图片文件,或者自定义格式的文件,甚至是通过网络获取的,我们了解之后,先尝试第一种,直接搜索AndroidKiller载入apk嗯,直接搜索到了,减少了我们很多

的工作量,那么,文本都有对应的id,我们再次搜索这个id,等等,我们好像发现了更重要的东西我们看到了授权成功的文字,那么我们换思路,直接搜索授权成功的id我们这里看到了这个神奇的数字,新手相信都不知道这个玩意是怎么来的,那么这里我稍微普及下,apk在编写时,开发工具都会对源代码自动编译,生成对应的标示符,通过这些标示符,来引用对应的资源,详细一点的可以阅读这篇文章 https://www.doczj.com/doc/8011724362.html,/s/blog_7b83134b01016043.html0x2 尝试破解 我们接着搜索0x7f080100,发现两处可疑处分别点进去看看,顺便我们也记下授权失败的标示符,0x7f080102,这里我们可以方便我们判断这里我们看到的就是授权失败时弹 出的对话框,我们找到它的标签是:cond_1,接着我们向上翻,看到哪些跳转会跳到:cond_1,我们来到方法的开始这是个接收信息的方法,通常是由handler实现的,我们大体可以知道,在付费成功后,会想这个函数传递一个message,这个方法就是判断传入的message的值,通过这个值来判断是否付费成功,这里我们看到一个cond_3,我们找到:cond_3,这里我们看到,获取res资源中的0x7f08011a,并转换为string 类型,再传入到Alertdialog的message中,我们看看它到底调用了什么资源看到是这个,看来跟我们破解无关,跳过,我们就直接针对这两个跳转即可如果v1<=0或者

相关主题
文本预览
相关文档 最新文档