2013-09-19 19:00
⁄ 工业·编程
⁄ 共 36728字
1. 概述
用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe、ntsd.exe、kd.exe和Windbg.exe。其中cdb.exe和ntsd.exe只能调试用户程序,Kd.exe主要用于内核调试,有时候也用于用户态调试,上述三者的一个共同特点是,都只有控制台界面,以命令行形式工作。
Windbg.exe在用户态、内核态下都能够发挥调试功能,尤其重要的是,它不再是命令行格式而是采用了可视化的用户界面。所以绝大部...
WinDbg, 软件调试阅读全文
2013-09-18 22:37
⁄ 工业·编程
⁄ 共 4893字
找了几十个不同语言编写的 crackme,发现只用消息断点的话有很多并不能真正到达我们要找的关键位置,想想还是把消息断点和 RUN 跟踪结合在一起讲,更有效一点。关于消息断点的更多内容大家可以参考 jingulong 兄的那篇《几种典型程序Button处理代码的定位》的文章,堪称经典之作。今天仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 cycle 的 crackme。
按照惯例,我们先运行一下这...
OllyDBG, 软件调试阅读全文
2013-09-18 22:33
⁄ 工业·编程
⁄ 共 8987字
还记得上一篇《OllyDBG入门系列(三):函数参考》中的内容吗?在那篇文章中我们分析后发现一个 ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个 ESI 值的计算部分。
今天我们的任务就是使用 OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个 crackme,附件我就不再上传了,用上篇中的附件就可以了。...
OllyDBG, 软件调试阅读全文
2013-09-18 22:23
⁄ 工业·编程
⁄ 共 6542字
现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。
相关阅读
----OllyDBG入门系列(二):字串参考
老规矩,先运行一下这个程序看看: 呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是 Shit 啊,呵呵),在下拉菜单中选“Try It”,会来到如下界面: ...
OllyDBG, 软件调试阅读全文
2013-09-18 22:22
⁄ 工业·编程
⁄ 共 7176字
上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软件破解的流程:拿到一个软件先别接着马上用 OllyDBG 调试,先...
OllyDBG, 软件调试阅读全文
2013-09-18 22:18
⁄ 工业·编程
⁄ 共 2256字
一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助: 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以...
OllyDBG, 软件调试阅读全文
2013-09-17 23:03
⁄ 工业·编程
⁄ 共 873字
在[Code]字段这样写 使用Inno制作安装包,活用[Code]字段的代码可实现很多功能,在编写Pascal代码时,可能会用到[Setup]字段的先的一些关键字,如:AppId={{30E1A3ED-7869-4C99-A426-D331A221234A},可能你会需要获得这个GUID字符串来执行卸载
在stackoverflow上搜索一下,找到了答案:
http://stackoverflow.com/questions/1926164/innosetup-getting-appname-in-code-section
大致三种方法:
1.比较“笨”的方法,定义一个常量...
Inno_setup, 程序打包阅读全文
2013-09-17 22:44
⁄ 工业·编程
⁄ 共 664字
某些程序运行后会留下一些残余的文件 诸如:日志目录,隐藏文件等无法被卸载程序删除的文件,下面就概述如何使用Inno Setup默认功能删除这些不用的垃圾文件以达到干净卸载的目的。
代码如下: //注意!代码必须使用[code]段才能够正常运行 [code] //删除所有配置文件以达到干净卸载的目的 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
if M...
Inno_setup, 程序打包阅读全文
2013-09-17 22:42
⁄ 工业·编程
⁄ 共 6456字
1 、如何让协议许可页面默认选中我同意按钮 [code] procedure InitializeWizard(); begin WizardForm.LICENSEACCEPTEDRADIO.Checked := true; end;
2、自定义安装程序右上角图片大小 [code] procedure InitializeWizard(); begin WizardForm.WizardSmallBitmapImage.width:=150; //设置页眉图片的大小 WizardForm.WizardSmallBitmapImage.left:=WizardForm.width-150; //设置左边页眉留出的空隙 ...
Inno_setup, 程序打包阅读全文
2013-09-17 22:29
⁄ 工业·编程
⁄ 共 1245字
最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己
1.打包文件夹
打包文件按照向导来一般没什么问题,但文件夹就不一样了。向导生成的打包文件夹的代码如下: Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
它解压时直接把XX目录下的所以文件拷贝到安装目录下,而没有生成XX目录,程序如果要引用XX目录下...
Inno_setup, 程序打包阅读全文