能力值:
( LV2,RANK:10 )
|
-
-
2 楼
直接修改字符串资源。。。最直接的方式,把“试用版”修改为“正式版”就好。
如果程序有加壳,脱先!
如果字符串也是加密过的,不能直接找到,就动态调试,在SetWindowText设断。
不过,在一个程序中,这样的地方会出现太多。。。尤其是Delphi作的程序(其它不知道),所以要配合其它断点,如检测加密狗的部分。。
新手凑热闹,仅供参考!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
太笼统了,VB和VC的就不一样
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
工具嘛,UltraEdit最好了。。。
先用W32dsm找到地址。:-)
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
是delphi的程序,请问如何在有加密狗的地方设置断点
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
这个字符串应该是加过密的,不能直接找到,是否用SetWindowText设断比较好,还有你们平常用的动态调试工具是softice的多,还是trw2000的多,我的trw2000就是在看雪学院上下的,为什莫不能再2000下运行,老提示出错
|
能力值:
( LV9,RANK:250 )
|
-
-
7 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢老大,我试一下
|
能力值:
( LV13,RANK:970 )
|
-
-
9 楼
嘿嘿,load就是工具多
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
TRW2000只能在98下运行
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
lordor老兄,你让看的这个工具Enable V1.0,只能改当时的界面,重新启动进入后,还是原来带试用版的界面,不行,还有没有什莫好的工具,让我试一下
|
能力值:
( LV9,RANK:250 )
|
-
-
12 楼
这只是暂时修改当前窗口的文字,
根本的方法还是上面大家介绍的方法。
我不知你的程序是什么语言的,如果是VC的语言,可以在RegisterClass,Createwindow(ex)等函数下断,修改其显示字符的参数(LPCTSTR lpWindowName, // pointer to window name)
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
是delphi5写的程序,要用到那个断点
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
还有没有那位大哥知道
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
用DeDe
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
学习
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
dede不行,我试过了
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
还有没有
|
能力值:
(RANK: )
|
-
-
19 楼
资源黑客不是更专业吗
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
dede也不显示标题
|
能力值:
( LV12,RANK:650 )
|
-
-
21 楼
Delphi程序在启动的时候我记得以前跟过是用一个SetWindowText来写标题的。你找找看。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
看来我以前贴的一篇破文没有人看过,现在再贴一次吧。
去除标题栏惹眼字的通用方法
假设要调试的软件名为abc.exe,以常见的(unregistered)和(未注册)为例:
如果abc.exe没有加壳且字符串是以明文的形式存在于文件中,用Uedit32.exe打开软件,找到字符串,把字符串对应的16进制数改成00……,存盘即可。否则往下继续。
注意:在以下整个过程中不要退出Loader32.exe,否则存放字符串的地址会改变。
详细步骤:(先用英文字符串 (unregistered) 为例)
1、用loader32.exe装载完abc.exe,按ctrl+D进入softICE,用S 0 L FFFFFFFF “(unregistered)”搜索到存放字符串的第一段内存地址。
2、在数据窗口把字符串对应的16制数改成00 00 ……。
3、按F5回到windows,最小化然后再还原一次abc.exe窗口,看看标题栏的惹眼字是否除去。
4、若没有除去,再按ctrl+D进入softICE,这次只输入S 便回车,可搜索到存放字符串的下一段内存地址。重复2、3步。
5、一般第一次就能除去,记下可行的内存地址,假设为0187:12345678关闭abc.exe。
6、第二次用loader32.exe装载abc.exe,在入口点被softICE拦下后,下BPM 12345678 W 断点,按F5,很快会被拦下,按几次F12进入abc.exe的领空后,观察数据窗口0187:12345678起始处的字符串是否又变为了(unregistered)(注:我们已在第二步中改为了00 00 ……),若不是则再按F5,程序必定被断下,继续观察直到变又为了(unregistered)为止。然后按F10单步执行。
7、一般每经过一个ret会返回到一个call xxxxxxxx的下面,记下该call的地址,向上查看一下该call的一小段程序代码,有没有能跳过此call的跳指令。没找到,继续按F10。返回call后,重复查看动作。一般要经过几个ret后才能看到call的上面一小段程序代码会出现跳转指令(可能是JMP,但在JMP上面会有条件跳转指令)能跳过此call,假设为call 00460800,清除其他断点,只在条件跳转指令处设断点,在此call的上面可能有几个条件跳转指令,适当选择几个设断点,按一下F5,程序启动完成。(如果程序没有完全启动,而又在条件跳转指令处断下,说明call 00460800不是生成惹眼字的call,应清除所有断点,从第六步开始,在以上基础上继续按F10,多经过一个ret返回下一个call,重复查看、设断点动作。)
8、第三次用loader32.exe装载abc.exe,按F5,在条件指令处断下,用rfl 命令改变跳转方向,跳过call 00460800,按一下F5启动完程序,现在标题栏应该干净了。记下跳转指令处的代码,用Uedit32.exe直按修改(无壳),或采用SMC技术修改(有壳)。
对于中文字符串 (未注册),因在softICE界面中不能显示中文,故用ASCII.exe查出 (未注册) 对应的16进制数为:28 CE B4 D7 A2 B2 E1 29,用loader32.exe装载完abc.exe,按ctrl+D进入softICE,用S 0 L FFFFFFFF 28,CE,B4,D7,A2,B2,E1,29搜索到存放字符串的第一段内存地址。以后步骤同英文字符串 (unregistered)。
注意:如果在第六步中按几次F12进入的不是abc.exe的领空而是该调试软件动态连接库的领空。可试以下方法:用S搜出所有字符串,把所有字符串对应的16进制数改成00……不退出loader32.exe用Uedit32.exe打开abc.exe另存为d.exe,运行d.exe看看。
一点技巧:
在第六步中如果按两次F5才出现字符串,可用以下办法:
按一下F5,再按几次F12进入abc.exe的领空后,按F10单步执行,每经过一个ret会返回到一个call xxxxxxxx的下面,只记下这些call,不用向上查看一下该call的程序代码,记上十来个call,然后按第二次F5,再按几次F12进入abc.exe的领空后,按F10单步执行,每返回到一个call,与第一次记下的call相比较,开头几个一般相同,当遇到与第一次返回的call不同时才向上查看该call的一小段程序代码一般能找到一条件跳转指令能跳过此call。该call就是能跳过若眼字符串的call。
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
老大 太详细了,我看看,先在此谢过了
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
非常感谢,以后多多向大家学习
|
|
|