能力值:
( LV2,RANK:10 )
|
-
-
2 楼
这个程序是用dephi写的
我目前用过od和mdebug,应该是做了debug判断检验(这个是我今天才学到-_-!,晚上再试试)
用OD是打不开,附加直接关闭,即使用改名也不行
Mdebug加以附加,但下断点 断不住, 我用的断点是 bp ShowWinodw,虽然断不住,但有作用,就是提示框不出现了,可还是copy不了里面的反编译代码
应该是对窗体内的copy事件做了Hook,需要再找。
我要求不高,能用就行,不需要爆破,能让我用调试器改成能复制就行
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
破解这块我也是刚开始学习,有机会希望能和你交流一下
|
能力值:
( 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);
|
|
|