首页
社区
课程
招聘
[求助]DAEMON程序怎么调试?
发表于: 2011-4-18 16:20 6935

[求助]DAEMON程序怎么调试?

2011-4-18 16:20
6935
使用FLEXLM保护的应用软件,使用IDA Pro如何调试DAEMON?众所周知DAEMON程序的启动是需要lmgrd来完成的。

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 324
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
多花点时间在论坛或者网上找找,别总是遇到问题就问。这个问题应该是很基础的东西了。
2011-4-18 16:51
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
您老终于又出现在我的帖子里了,谢谢!
我已经花了不少时间搞一个linux版本的flexlm,前段时间在您的指点下我搞定了windows版本的flexlm(非常感激您的帮助),但那个软件没有用到DAEMON,所以也就没有调试过DAEMON程序。但目前遇到的这个linux版本的flexlm是有DAEMON,目前使用IDA Pro能载入DAEMON(之前使用DDD压根就无法载入程序,原因已找到),貌似载入后可以调试,找到“12345678”下断也能断下来,但老是运行出错,不知道是不是我操作哪里有问题?
    进入IDA Pro的安装目录idaadv,在命令行使用如下命令加载daemon程序test(在idaadv目录中):
/home1/user/yfdang/IDA.Pro/idaadv>idal test ,我这样做法是不是有问题,是不是需要添加参数?至少应该要把假的License文件也加进去吧?怎么加?希望您能指点一下,您的出现我的信心大增,呵呵,有时候不是俺们这些菜鸟不努力,只是希望能得到像你您这样的牛人的指点,这样能缩短调试时间!非常感谢!
2011-4-18 17:17
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
daemon程序的l_pubkey_verify根据特征码已经找到,但为什么函数前面几个字节的机器码和论坛上相关帖子的机器码不一样:
我找到的如下:
.text:0808D620 55                      push ebp
.text:0808D621 89 E5                 mov ebp, esp

而论坛上的是这样的:
:0060D410 55                      push ebp
:0060D411 8BEC                  mov ebp, esp
同样的mov ebp,esp为什么机器码会不一样?我试着将改为:
.text:0808D620 33C0                  xor eax, eax
.text:0808D621 C3                      ret
启动不了DAEMON程序了。另外我相信l_pubkey_verify函数是找对的,我对照SDK源程序和反汇编程序看了一下,应该没错。
2011-4-19 16:10
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
DAEMON中将l_pubkey_verify函数末尾ret之前修改为xor eax,eax(使用Uedit32直接修改),发现启动不了DAEMON了(用改之前能启动的license),这个可能是什么原因引起的?
我将改过的DAEMON使用IDA反汇编看了一下,确实在l_pubkey_verify末尾ret之前是xor eax,eax,应该是返回0了,请达人能指点一下,不甚感激,谢谢!
2011-4-19 22:23
0
雪    币: 44
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
难道我这个DAEMON直接爆破l_pubkey_verify这个不行吗?要破掉什么2个ECC Flag吗?
2011-4-19 23:09
0
雪    币: 101
活跃值: (743)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
使用IDA Pro如何调试DAEMON?众所周知DAEMON程序的启动是需要lmgrd来完成的。 
--供新手参考。 使用参数可以单独启动daemon程序而不需要lmadmin/lmgrd。论坛里有的,是daemon -T computerName lmgrd_version -1 -c license.lic, computerName 是主机名,linux下用uname -a查看。
2020-7-12 22:51
0
游客
登录 | 注册 方可回帖
返回
//