吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4750|回复: 2
收起左侧

[其他转载] wsprintf函数中一些疑问!

 关闭 [复制链接]
foreverhack 发表于 2010-7-23 11:22
unsigned char Table[8]={0xc,0xA,0x13,0x9,0xc,0xB,0xA,0x8};
Bool GenRegCode(Tchar *rcode,Tchar *name,int len)
{   int i,j;
    unsigned long code=0;
    for(i=3,j=0;i<len;i++,j++)
    {if(j>7)
       j=0;
       code+=((BYTE)name[i])*Table[j];
     }
    wsprintf(name,TEXT("%ld"),code);
    if(lstrcmp(rcode,name)==0)
       return true;
    else
       return false;
}
上面一段代码是加密与解密第三版中动态分析技术中的crackme中注册码的C表示代码!!!如果name[]="abcdef",因code+=((BYTE)name[i])*Table[j];
则应该是code=d*0xc+e*0xA+f*0x13;即:
64*c+65*a+66*13=4B0+3F2+792=1034,问题在于:wsprintf函数把十六进制1034以长整形有符号十进制数转化
后输入到name缓冲区的字符串数组中,到底是如何转化的呢?1034转化为字符串后是多少,如何验证1034转化后
后的字符串对不对,有没有办法求逆,就是说再把这个字符串转化为十六进制,看是否还是1034!!!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

O_o 发表于 2010-7-23 11:36
额, 看雪 加密解密 里面的一段代码。
datochan 发表于 2010-7-23 23:01
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 02:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表