首页
社区
课程
招聘
[求助]对jesterjy大哥的精华文章里的一个问题?
发表于: 2009-4-23 22:58 3194

[求助]对jesterjy大哥的精华文章里的一个问题?

2009-4-23 22:58
3194
原精华在这里,http://bbs.pediy.com/showthread.php?t=85019,貌似jesterjy大哥分析这个注册算法时,没分析到里面的_sprintf,_output函数,而这里面是产生注册码的一个关键部分,而在注册机里用了wsprintf(treg=reg,"%c-%c%u-%u",id[0],((id[strlen(id)-1]>='a'&&id[strlen(id)-1]<='z')?id[strlen(id)-1] & 0xdf:id[strlen(id)-1]),sum+0x6064,sum+0x6064+0x6064);
而在_sprintf里有个_output函数,代码很大,分析要花很长时间的,请高手请教。。
或则只是我什么都不懂,其实就是一个普通的输出函数,请大家指点一二。。。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 151
活跃值: (29)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
_sprintf和_output应该是两个库函数吧?
希望可以交流。
我也很菜。可能漏掉哪里了。
如果真有疏漏,真是不好意思了。
2009-4-23 23:01
0
雪    币: 390
活跃值: (15)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
可是这两个函数代码在程序领域,我以前一直认为库函数应该调用DLL,代码应该在系统领域,难道我弄错了?
你菜的话我就更菜了。。。
2009-4-24 09:41
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
库(LIB)的连接,有静态和动态两种方式。

对于LIBC.LIB,其中的函数是静态连接的,也就是库函数的代码直接嵌入到最终的可执行文件中。

对于MSVCRT.LIB,则是动态连接的,也就是在运行时导入MSVCRT.DLL的函数。

对于动态连接的库函数,可以通过导入表直接获取函数的名字;对于静态连接的函数代码,IDA通过SIG文件进行识别。
2009-4-24 12:46
0
雪    币: 290
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wsprintf函数只是一个格式化输出函数,后面的"%c-%c%u-%u"就是限定格式
这和C语言里面的printf是差不多的
2009-4-24 14:54
0
游客
登录 | 注册 方可回帖
返回
//