能力值:
( LV2,RANK:10 )
|
-
-
2 楼
然后我在OD中选择“超级字符串参考”,但是并没有找到“注册码无效”的字符,(这个程序是多国语言的,大概有10几种语言吧),但后点OD中的K图标,打开调用堆栈窗口,里面竟然是空的, 我就不知道该怎么办了,请高手指导下,我下面该怎么做,怎么才能找到合适的断点,谢谢,小弟不盛感激!!!
你没按F12暂停,堆栈里当然是空的。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
哦,好的谢谢我试一下,笨死了我, 谢谢你!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
暂停之后,查看调用堆栈的截图如下:
我双击进去之后是系统的领空,user32,我该怎么办,谢谢,
在线等,谢谢,看视频教程上都是直接进就可以跟到按钮的点击事件,变化一点我这笨菜鸟就不会了,谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
还有一个方法就是下bp MessageBoxA这个断点。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我对“bp MessageBoxA”不是太懂,搜索下了意思是这样的:
bp是对API模块函数下断(将直接中断在API函数内部),bpx是对程序模块调用API下断(断在程序领空调用API函数的语句上)。
粘过来希望和我一样的新手看看。
谢谢楼上的,我试一试!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=bum;702722]
[/QUOTE]
我跟进去之后到了这里,
我继续向上找到这段代码的开头,在开始的地方下断,但是我一直跟,都没有发现比较注册码是否正确的地方,都会跳转到弹出那个注册码不正确的窗口,
以下是代码段:
73D4976E C9 LEAVE
73D4976F C2 0400 RETN 4
73D49772 CC INT3
73D49773 CC INT3
73D49774 CC INT3
73D49775 CC INT3
73D49776 CC INT3
73D49777 > 8BFF MOV EDI,EDI //我在代码段的开始这里下了断点,
73D49779 55 PUSH EBP
73D4977A 8BEC MOV EBP,ESP
73D4977C E8 55EB0700 CALL MFC42.#1168
73D49781 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
73D49784 85C0 TEST EAX,EAX
73D49786 74 0B JE SHORT MFC42.73D49793
73D49788 8B10 MOV EDX,DWORD PTR DS:[EAX]
73D4978A 8BC8 MOV ECX,EAX
73D4978C 5D POP EBP
73D4978D FFA2 94000000 JMP DWORD PTR DS:[EDX+94]
73D49793 33C9 XOR ECX,ECX
73D49795 5D POP EBP
73D49796 E9 05000000 JMP MFC42.#2512
73D4979B CC INT3
73D4979C CC INT3
73D4979D CC INT3
73D4979E CC INT3
73D4979F CC INT3
73D497A0 > 8BFF MOV EDI,EDI
73D497A2 55 PUSH EBP
73D497A3 8DAC24 64FFFFFF LEA EBP,DWORD PTR SS:[ESP-9C]
73D497AA 81EC 1C010000 SUB ESP,11C
73D497B0 A1 38B8E073 MOV EAX,DWORD PTR DS:[73E0B838]
73D497B5 53 PUSH EBX
73D497B6 56 PUSH ESI
73D497B7 57 PUSH EDI
73D497B8 8985 98000000 MOV DWORD PTR SS:[EBP+98],EAX
73D497BE 8B85 A4000000 MOV EAX,DWORD PTR SS:[EBP+A4]
73D497C4 8BF9 MOV EDI,ECX
73D497C6 33DB XOR EBX,EBX
73D497C8 53 PUSH EBX
73D497C9 897D 84 MOV DWORD PTR SS:[EBP-7C],EDI
73D497CC 8945 88 MOV DWORD PTR SS:[EBP-78],EAX
73D497CF E8 5F120000 CALL MFC42.#2629
73D497D4 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
73D497D7 50 PUSH EAX
73D497D8 53 PUSH EBX
73D497D9 E8 E8150000 CALL MFC42.#6756
73D497DE 33F6 XOR ESI,ESI
73D497E0 3BC3 CMP EAX,EBX
73D497E2 8945 80 MOV DWORD PTR SS:[EBP-80],EAX
73D497E5 74 18 JE SHORT MFC42.73D497FF
73D497E7 53 PUSH EBX
73D497E8 53 PUSH EBX
73D497E9 68 76030000 PUSH 376
73D497EE FF75 90 PUSH DWORD PTR SS:[EBP-70]
73D497F1 FF15 7065DD73 CALL DWORD PTR DS:[<&USER32.SendMessageA>; USER32.SendMessageA
73D497F7 3BC3 CMP EAX,EBX
73D497F9 74 04 JE SHORT MFC42.73D497FF
73D497FB 8BF0 MOV ESI,EAX
73D497FD EB 0A JMP SHORT MFC42.73D49809
73D497FF 3BFB CMP EDI,EBX
73D49801 74 06 JE SHORT MFC42.73D49809
73D49803 8DB7 A0000000 LEA ESI,DWORD PTR DS:[EDI+A0]
73D49809 3BF3 CMP ESI,EBX
73D4980B 895D 8C MOV DWORD PTR SS:[EBP-74],EBX
73D4980E 74 16 JE SHORT MFC42.73D49826
73D49810 8B06 MOV EAX,DWORD PTR DS:[ESI]
73D49812 8945 8C MOV DWORD PTR SS:[EBP-74],EAX
73D49815 8B85 AC000000 MOV EAX,DWORD PTR SS:[EBP+AC]
73D4981B 3BC3 CMP EAX,EBX
73D4981D 74 07 JE SHORT MFC42.73D49826
73D4981F 05 00000300 ADD EAX,30000
73D49824 8906 MOV DWORD PTR DS:[ESI],EAX
73D49826 8B9D A8000000 MOV EBX,DWORD PTR SS:[EBP+A8]
73D4982C F6C3 F0 TEST BL,0F0
73D4982F 75 17 JNZ SHORT MFC42.73D49848
73D49831 8BC3 MOV EAX,EBX
73D49833 83E0 0F AND EAX,0F
73D49836 83F8 01 CMP EAX,1
73D49839 76 0A JBE SHORT MFC42.73D49845
73D4983B 83F8 02 CMP EAX,2
73D4983E 76 08 JBE SHORT MFC42.73D49848
73D49840 83F8 04 CMP EAX,4
73D49843 77 03 JA SHORT MFC42.73D49848
73D49845 83CB 30 OR EBX,30
73D49848 85FF TEST EDI,EDI
73D4984A 74 05 JE SHORT MFC42.73D49851
73D4984C 8B7F 7C MOV EDI,DWORD PTR DS:[EDI+7C]
73D4984F EB 13 JMP SHORT MFC42.73D49864
73D49851 8D7D 94 LEA EDI,DWORD PTR SS:[EBP-6C]
73D49854 68 04010000 PUSH 104
73D49859 8BC7 MOV EAX,EDI
73D4985B 50 PUSH EAX
73D4985C 6A 00 PUSH 0
73D4985E FF15 5C63DD73 CALL DWORD PTR DS:[<&KERNEL32.GetModuleF>; kernel32.GetModuleFileNameA
73D49864 53 PUSH EBX
73D49865 57 PUSH EDI
73D49866 FF75 88 PUSH DWORD PTR SS:[EBP-78]
73D49869 FF75 80 PUSH DWORD PTR SS:[EBP-80]
73D4986C FF15 B065DD73 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA //这里调用了messagebox
73D49872 85F6 TEST ESI,ESI
73D49874 8BF8 MOV EDI,EAX
73D49876 74 05 JE SHORT MFC42.73D4987D
73D49878 8B45 8C MOV EAX,DWORD PTR SS:[EBP-74]
73D4987B 8906 MOV DWORD PTR DS:[ESI],EAX
73D4987D 837D 90 00 CMP DWORD PTR SS:[EBP-70],0
73D49881 74 0B JE SHORT MFC42.73D4988E
73D49883 6A 01 PUSH 1
73D49885 FF75 90 PUSH DWORD PTR SS:[EBP-70]
73D49888 FF15 F065DD73 CALL DWORD PTR DS:[<&USER32.EnableWindow>; USER32.EnableWindow
73D4988E 8B4D 84 MOV ECX,DWORD PTR SS:[EBP-7C]
73D49891 6A 01 PUSH 1
73D49893 E8 9B110000 CALL MFC42.#2629
73D49898 8B8D 98000000 MOV ECX,DWORD PTR SS:[EBP+98]
73D4989E 8BC7 MOV EAX,EDI
73D498A0 5F POP EDI
73D498A1 5E POP ESI
73D498A2 5B POP EBX
73D498A3 E8 B6920700 CALL MFC42.73DC2B5E
73D498A8 81C5 9C000000 ADD EBP,9C
73D498AE C9 LEAVE
73D498AF C2 0C00 RETN 0C
73D498B2 CC INT3
请各位高手分析一下,谢谢了! 还有如果我在getwindowtexta内部下断,只要把注册的窗口激活,就会断在OD内,
很郁闷,接触破解不久,就遇到这么恶心人的东西,放弃不做了又不甘心,请高手指导一下,因为软件太大传不上来,那位好心人空了,可以加我QQ,我发个远程协助帮我看下,谢谢!!!!!
我QQ:17701060,再次谢谢!
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
上传附件 !
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
源程序是在是太大,安装时2张D9的光盘,即使我精简把资料库和帮助文件去掉,也要500M,而且主程序还提示缺少库文件,但是我搜索整个硬盘还是找不到这个文件,您什么时候有空我发个远程协助,谢谢!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
楼上的这个问题!!确实的比较的难缠~~~对于刚刚刚刚入门的人(比如我)有点难办,他的那个出错框所在的代码段,找不到任何有用的信息,这就和我前几天在某商店管理软件上碰到的一样! 程序断下来后,返回到用户代码,发现是个出错提示!!但是前后文并没有进行任何判断,无论怎么爆破改跳 只要程序不中止退出,那么一定会是出错的结果;后来使用未注册限制的功能时,奇怪的是也会停在这段代码,然后提示的内容并不一样。因为破解不是太懂,所以就用编程的思维描述下!貌似作者把 对用户的提示封装了下,每次提示都跳用这段代码,然后传入要提示的字符串!!所以我们在这段代码上下功夫是徒劳的,需要找到上层的call!!但是我是新手,绕来绕去 绕晕了!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
谢谢楼上的支持,我也是这样的,哎,摸不着一点规律。
我这个软件是外国一个汽车维修软件,好贵的,每年的使用费都9K,还不说第一次买的费用,黑死了。
朋友把光盘快递给我说让我看看能不能破解了,我太菜了搞不定,但是我实在不甘心,我一定要把它搞定!!
谢谢各位高手指点!!!
|