转到正文

工作后院

工作累了,来这里休息休息

存档

分类: crack

问题:

写了一个壳xp下运行正常,但在w7下运行没有任何提示程序就退出了,用od载入单步运行出错说是

然后看了一下原来是载入的地址不是程序的原地址0x400000,变为

但我确信在处理引导程序时我已经将重定位表擦除了,迷茫中。。。。。。。

用od重新载入发现基址又变了,好在由此可以肯定程序不能在w7下运行是因为在w7下每次载入程序时的基址是变化的。

解决:

用od载入我的引导程序发现他在w7下地址也是不停的变化的,然后在google上搜索了一下找到了看雪上的这个文章:

http://bbs.pediy.com/showthread.php?t=117096原来是连接器的问题:

将这个值改为”否”编译后用od载入发现文件的基址不再变化了,但问题也随之而来—–重定位表没了,这个引导程序必须有重定位表,因为要引导不同的程序必须重定位自身。

然后用lordpe对比了一下随机地址和固定基址的程序发现

这个值不同,用c32载入改40 81 为00 81发现程序有重定位表的时候基址也不会变化了。

 

自己的程序 链接选项里别选动态基址
别人的程序的话
pe头里Characteristics位0置1,表示没有重定位
或者DLLCharacteristics位6置0,表示不支持aslr技术
重新加载 基址一般就固定了

1

2

 

 

InstallShield 的数据包一般格式为 data1.cab,同时有一个 data1.hdr,用于描述文件分组定义,如果文件较多,还会存在一个 data2.cab ,实际上是分卷压缩包。

ISCAB 6.0 以下的版本可以使用 ZIPSCAN 解压,也可以使用 WinPack 进行文件的提取和替换、添加。

高版本的 ISCAB 可使用 InstallShield 中提供的命令行工具进行操作,以InstallShield X为例,安装InstallShield X后,从安装目录下的.\system中提取以下文件:

代码 (双击代码复制到粘贴板)ISCAB.exe
ISTools.dll
MediaBuild40.dll

之后可以脱离 InstallShield 运行。

·首先要提取安装包结构信息,使用命令行

ISCAB data1.cab -lx -iCAB.INI

将信息输出到 CAB.INI 文件,大致如以下的格式:
代码 (双击代码复制到粘贴板)[ISCAB Info]
Product=ISCAB
Version=2.0

[Dat Files]
File1=”Setup.dll”

·如果要从包中移除某些文件或者替换文件(也要先移除,然后再重新加入),应编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要移除的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 DEL.INI,使用命令行

ISCAB data1.cab -r -iDEL.INI

·如果要向包中添加文件,应将相应文件放置在当前目录下,同时和 data1.cab 同目录下的 setup.inx,setup.ini 等文件都必须存在。编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要加入的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 ADD.INI,使用命令行

ISCAB data1.cab -a -iADD.INI

好了,安装文件打包完成了,就像“原装”的一样,简单吧?

使用微软的ActiveX Scripting技术,可以在应用程序中集成使用vbscript或这javascript脚本语言。

在delphi中点击Component菜单的Import Activex Contol….菜单,选择Microsoft Script Control并添加,然后把这个控件放置在form上,就可以使用脚本了。

也可以使用CreateOleObject(‘MSScriptControl.ScriptControl.1’)创建。

如何使用脚本操作应用程序呢?很简单,在delphi中创建一个Automation object类,通过这个类处理程序中的对象。然后创建一个Automation object类的实例,传递给Scriptcontrol就可以了。(点击 File | New menu, 选择ActiveX 页的 Automation Object wizard。)

ScriptControl1.SitehWnd := Self.Handle;

FAutoObject := TExposingObjectsDemo.Create;
ScriptControl1.AddObject(‘DemoObject’, FAutoObject, True);

在脚本中通过DemoObject访问FAutoObject对象,通过FAutoObject实现操作应用程序的母的。

  ScriptControl 对支持 ActiveX(TM) Script 的宿主 Script 引擎提供简单接口。接下来我们对被转化成ScriptControlClass类的ScriptControl的属性和方法进行一些说明。

属性

  AllowUI 属性:应用于 ScriptControl 本身或 Scirpt 引擎显示的用户界面元素,可读写。

  CodeObject 属性:返回对象,该对象用于调用指定模块的公用成员。只读。

  Error 属性:返回 Error 对象,其中包含所发生的最后一个错误的相关详细信息。只读。

  Language 属性:设置或返回正在使用的 Script 语言名称。可读写。

  Modules 属性:为 ScriptControl 对象返回模块集合。只读。

  Procedures 属性:返回在指定模块中定义的过程集合。只读。

  SitehWnd 属性:设置或返回窗口的 hWnd,通过执行 Script 代码,此窗口用于显示对话框和其他用户界面元素。可读写。

  State 属性:设置或返回 ScriptControl 对象的模式。可读写。

  Timeout 属性:设置或返回时间(毫秒),此时间后用户可选择中止 Script 代码的执行或允许代码继续执行。可读写。

  UseSafeSubset 属性:设置或返回 Boolean 值,指明宿主应用程序是否有保密性要求。如果宿主应用程序需要安全控制,则 UseSafeSubset 为 True,否则为 False。可读写。

方法

AddCode 方法:向模块添加指定代码。可多次调用 AddCode 方法。

AddObject 方法:使主机对象模型对 Script 引擎可用。

Eval 方法:计算表达式并返回结果。

ExecuteStatement 方法:执行指定的语句。

Reset 方法:放弃所有已经添加到 ScriptControl 中的 Script 代码和对象。

Run 方法:运行指定过程。

事件

Error 事件:出现运行时错误时,发生此事件。

Timeout 事件:当超出了 Timeout 属性指定的时间且用户在结果对话框中选定了 End 时,发生此事件。

补充几点

  AllowUI 属性如果设置为false,则显示对话框之类的语句不起作用,如在 VBScript 中MsgBox 语句,JavaScript中的alert等,并且如果执行的脚本超出TimeOut设置的毫秒数,也不会跳出超出时间提醒的对话框,反之则相反;重新设置 Language 属性会清空AddCode加载的代码;对于TimeOut属性,发生超时时,ScriptControl 检查对象的 AllowUI 属性,确定是否允许显示用户界面元素。

用OD调试一些加壳程序,如Themida等,可能你会发现下断后(包括硬件断点),程序跑到断点时,OD会出现假死现像。

解决方法很简单,打开OD配置文件ollydbg.ini,你会发现:
Restore windows= 123346 //这个Restore windows可能会是一个很大的值

现在只需要将Restore windows=0,重新用OD调试程序,假死问题就消失了。

造成这问题的原因我也不明白。

一、附加法调试已经启动的进程
1、通过任务管理器或tlist.exe(WinDBG中的一个命令行工具:C:\Program Files\Debugging Tools for Windows
)命令查看调试进程的PID;
2、启动调试器附加进程,方法:
1)运行命令行,进入WinDbg调试器目录,运行:WinDBG -p ProcessID /g 附加到进程PID
2)运行命令行,进入WinDbg调试器目录,运行:WinDBG -pn ImageName /g 附加到进程名
3)运行命令行,进入WinDbg调试器目录,运行:WinDBG /g 启动调试器,然后在文件菜单中选择附加到进程,选择要调试的进程名。
继续阅读

VB快速逆向法

作者:nbw
原作:B. Kathras

一般来说VB程序很难入手分析,除了利用一些已经被分析出来的VB库导出函数,在很少有入口去进行分析了。我看了B. Kathras写的文章,觉得很不错,好东西不敢独享,这里就整理一下,给大家一起看看。
首先是如何处理nag窗口,然后是处理各种控件的属性。这些方法很实用,我也享受了一下5分钟ko的乐趣。

继续阅读

Q:请教OD中:ecx指向”abcdefghigklmn”这个字符串的条件断点如何下?
A:ecx==”abcdefghigklmn”

Q:我想断:CreateFileA 条件是文件名字为 “abcdefghigklmn”,我在CreateFileA上Shift-F4或Shift-F2设定条件,都不起作用。我用的不对?能否详细解说一下?谢谢!
继续阅读

标 题: 【原创】Symbian S60 3rd Reverse CrAcKiNg Tutorial
作 者: cater
时 间: 2009-05-01,09:10
链 接: http://bbs.pediy.com/showthread.php?t=87583

记得去年 Cater 曾经在某群里说过要写六个手机平台的解密教程
只是 Cater 真的好忙 好辛苦的说
Symbian 是我06年久接触了,那个时候S60 2nd 版本的手机有碰过
感觉 ARM 的汇编指令也不是很难,也过了几个软件
时隔今日,塞班 S60 三版的(OS 9.x)的系统也总结总结些个教程
满足下 某人 总是威逼 小 Cater 的野兽般的欲望吧。
继续阅读

标 题: 【分享】我的断点心得——帮初学者进阶
作 者: 书呆彭
时 间: 2008-12-21,16:02
链 接: http://bbs.pediy.com/showthread.php?t=79148

【文章标题】: 我的断点心得——帮初学者进阶
【文章作者】: 书呆彭
【使用工具】: OD,MSDN,VC
【作者声明】: 本文完全是个人的心得与体会,看到许多初学者还在苦苦寻找“字符串”和“关键跳”,特写此文,其中错误和不当之处,欢迎大家多多批评指正。
继续阅读

【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
http://bbs.pediy.com/showthread.php?t=82660

【详细过程】
本文所讲的方法,其实是一个很古老的方法了。以前,考虑到此法的杀伤力巨大,不便于公布。

随着软件开发者保护意识的提高和软件保护技术的发展,此法的杀伤力逐渐下降成为普通等级。

我本人这学期的课程和任务十分多,打算暂时把程序调试这个业余爱好放一放,估计至少会有半年时间不常来看雪了。

把这个方法写出来,算是给大家的告别礼物。
继续阅读