首页
社区
课程
招聘
新手请教:Adult PDF Password Recovery应该如何下断点?
2004-4-25 20:16 7813

新手请教:Adult PDF Password Recovery应该如何下断点?

2004-4-25 20:16
7813
我试过了:GetDlgItemText, GetWindowText都不行,还请高手指点!
原版下载:http://www.adultpdf.com/products/pwdremover/pwdremover.exe
用BC++写的
PS:第一次发帖,如果违反版规之处烦请版主删之

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞6
打赏
分享
最新回复 (10)
雪    币: 225
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yux007 2004-4-26 11:14
2
0
各位高手,麻烦给个方向也好啊,先谢过了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iNt0 2004-4-26 11:39
3
0
先反汇编看看,有无可疑之处,再设断
雪    币: 279
活跃值: (375)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
lordor 6 2004-4-26 13:04
4
0
对bcd编写的软件,用GetDlgItemTextA并不能取到有用的信息。请用DeDe反汇编,看能不能找到关键点
雪    币: 225
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yux007 2004-4-26 13:47
5
0
搞定了,多谢楼上两位,特别是lordor
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuanqing 2004-4-26 23:41
6
0
看了一下
这个东东不Register有什么限制么?
用bp MessageBoxA就可以找到地方吧
可里面好像还有其它的代码
雪    币: 225
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yux007 2004-4-27 10:27
7
0
最初由 xuanqing 发布
看了一下
这个东东不Register有什么限制么?
用bp MessageBoxA就可以找到地方吧
可里面好像还有其它的代码

请问用MessageBoxA怎么找到关键代码?多谢!
雪    币: 279
活跃值: (375)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
lordor 6 2004-4-27 12:36
8
0
用这个断点更快,

0040466A  ADD ESP,8
0040466D  PUSH ESP                                 ; /IniFileName
0040466E  PUSH 100                                 ; |BufSize = 100 (256.)
00404673  LEA EAX,DWORD PTR SS:[ESP+108]           ; |
0040467A  PUSH EAX                                 ; |ReturnBuffer
0040467B  PUSH 0                                   ; |Default = NULL
0040467D  PUSH Adult_PD.004D8896                   ; |Key = "Mail"
00404682  PUSH Adult_PD.004D8885                   ; |Section = "Decrypt_Register"
00404687  CALL <JMP.&KERNEL32.GetPrivateProfileStr>; \GetPrivateProfileStringA
0040468C  PUSH ESP                                 ; /IniFileName
0040468D  PUSH 100                                 ; |BufSize = 100 (256.)
00404692  LEA EDX,DWORD PTR SS:[ESP+208]           ; |
00404699  PUSH EDX                                 ; |ReturnBuffer
0040469A  PUSH 0                                   ; |Default = NULL
0040469C  PUSH Adult_PD.004D88AC                   ; |Key = "Serial"
004046A1  PUSH Adult_PD.004D889B                   ; |Section = "Decrypt_Register"
004046A6  CALL <JMP.&KERNEL32.GetPrivateProfileStr>; \GetPrivateProfileStringA
雪    币: 225
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yux007 2004-4-27 14:03
9
0
又学了一手:D
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuanqing 2004-4-27 21:41
10
0
最初由 lordor 发布
用这个断点更快,

0040466A ADD ESP,8
0040466D PUSH ESP ; /IniFileName
0040466E PUSH 100 ; |BufSize = 100 (256.)
00404673 LEA EAX,DWORD PTR SS:[ESP+108] ; |
0040467A PUSH EAX ; |ReturnBuffer
0040467B PUSH 0 ; |Default = NULL
0040467D PUSH Adult_PD.004D8896 ; |Key = "Mail"
00404682 PUSH Adult_PD.004D8885 ; |Section = "Decrypt_Register"
00404687 CALL <JMP.&KERNEL32.GetPrivateProfileStr>; \GetPrivateProfileStringA
0040468C PUSH ESP ; /IniFileName
0040468D PUSH 100 ; |BufSize = 100 (256.)
00404692 LEA EDX,DWORD PTR SS:[ESP+208] ; |
00404699 PUSH EDX ; |ReturnBuffer
0040469A PUSH 0 ; |Default = NULL
0040469C PUSH Adult_PD.004D88AC ; |Key = "Serial"
004046A1 PUSH Adult_PD.004D889B ; |Section = "Decrypt_Register"
004046A6 CALL <JMP.&KERNEL32.GetPrivateProfileStr>; \GetPrivateProfileStringA

哦,我没静态分析
不过总觉的sn的算法太...
就查了长度和两个字节??
雪    币: 225
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yux007 2004-4-27 21:46
11
0
每个字节都查到了,最后只用了两个,这个软件系列算法差不多
游客
登录 | 注册 方可回帖
返回