首页
社区
课程
招聘
[旧帖] 带壳调试找不到关键点 0.00雪花
发表于: 2008-2-26 19:43 3694

[旧帖] 带壳调试找不到关键点 0.00雪花

2008-2-26 19:43
3694
超级MP3 录音机  
http://www.toprecorders.com/download/mp3reccn10.zip一个重启验证的程序,输入注册码后会提示让你重启软件以验证软件是否注册
经跟踪发现软件把输入的假码存入C:\WINDOWS\system32\MP3Recorder.key文件
重启后自动调用C:\WINDOWS\system32\MP3Recorder.key文件读出注册码,经一系列算法
太多CALL跟着跟着不知道跟到那去了。
用f12暂停好像不行,在过期的NAG窗口,暂停->查找调用call->回溯,找不到关键跳
我猜想是不是,在读取注册码验证后,程序根据验证的成功或失败向某个变量送去一个地址
然后程序去读取这个变量相应的模块显示,而不是用jnz or je来直接进行跳转
我是小菜鸟,请各位点醒~~~ 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
2
这几天见过好几个这样的软件,重启验证的.我是这样做的:
通过Process monitor查看一下它大概什么时候读取key文件,然后用od载入,右键-->查看kernel32.dll--->在CreateFileW函数里面下断点(开头或者里面都可以,不要太靠里面,否则堆栈比较不容易看)--->F9运行程序,会不断的断在这个函数里面,查看堆栈,看看里面是不是有这样一个key文件路径--->符合的时候ALT+F9返回程序模块,然后F8+F7接着分析
当key文件路径包括汉字的时候,比如c:/你好/....,在od的堆栈里面可能不会显示该路径,这时候在堆栈上“在数据中跟随”看看
2008-2-26 21:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个aspr为什么脚本脱不掉.....
2008-2-26 22:31
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
直接设断点CreateFileW 和 CreateFileA 都能在od里断下来读取C:\WINDOWS\system32\MP3Recorder.key文件只是,跟了好多次都看不出那个是关键
2008-2-27 12:07
0
游客
登录 | 注册 方可回帖
返回
//