首页
社区
课程
招聘
[旧帖] [求助]:eek:已经熬了好几夜了,毫无头绪!请大家分享下破解思路 0.00雪花
发表于: 2013-5-14 01:31 2405

[旧帖] [求助]:eek:已经熬了好几夜了,毫无头绪!请大家分享下破解思路 0.00雪花

2013-5-14 01:31
2405
虽然没破解,但我已经找到解决方案了,有兴趣的同学可以继续尝试

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个程序是用dephi写的

我目前用过od和mdebug,应该是做了debug判断检验(这个是我今天才学到-_-!,晚上再试试)

用OD是打不开,附加直接关闭,即使用改名也不行

Mdebug加以附加,但下断点 断不住, 我用的断点是 bp ShowWinodw,虽然断不住,但有作用,就是提示框不出现了,可还是copy不了里面的反编译代码

应该是对窗体内的copy事件做了Hook,需要再找。

我要求不高,能用就行,不需要爆破,能让我用调试器改成能复制就行
2013-5-14 18:19
0
雪    币: 40
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
破解这块我也是刚开始学习,有机会希望能和你交流一下
2013-5-15 01:30
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
熬到凌晨,终于有点成果。。。。至少我的目的是达到了

因为破解我实在是没能力去做了,还是让高手去做吧

我采用的是曲线救国的方法,通过获取窗口句柄来发送WM_GETTEXT消息来获取里面的内容

因为我是学JAVA的,C++的语法一直不太想研究,所以还是用JAVA来实现了,原理是一样的。
其中的525032是我用其它工具获取的句柄。。 其它工具包括Mdebug

注释掉的代码,应该是程序里做了手脚,调用后什么也获取不了

    MyUser32 lib = MyUser32.INSTANCE;

		int pointer = 525032; //525032  788996
		HWND hwnd = new HWND(Pointer.createConstant(pointer));

		// int len = lib.GetWindowTextLength(hwnd);
		// System.out.println(len);
		//
		// char[] s = new char[len];
		// int r = lib.GetWindowText(hwnd, s, len);
		// System.out.println(r);
		// System.out.println(new String(s));
		
		LRESULT res = lib.SendMessage(hwnd, MyUser32.WM_GETTEXTLENGTH, 0, 0);
		int len = res.intValue()+ 1;
		char[] windowText = new char[len];
		lib.SendMessage(hwnd, MyUser32.WM_GETTEXT, len, windowText);

		String s = Native.toString(windowText);
		System.out.println(s);
2013-5-15 03:32
0
游客
登录 | 注册 方可回帖
返回
//