能力值:
( LV2,RANK:10 )
|
-
-
2 楼
沙发
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
如果图片都翻译 那就完美了
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
都是野猫啊。。。。。。。。。。顶
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
都是夜猫纸...
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢,继续啊,LZ辛苦
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
楼主辛苦啦!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
及时跟上,辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
谢谢楼主,辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
楼主辛苦,谢谢分享谢谢翻译
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
和老大辛苦
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
楼主辛苦啦!
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
辛苦了,呵呵很久没回来看看了!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
楼主辛苦,感谢!继续……
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
楼主辛苦,感谢!继续
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
,本人基础薄弱,听说这里高手如云,是个学习的好地方,遂来之,呵呵
|
能力值:
( LV13,RANK:1760 )
|
-
-
17 楼
这里确实是个学习的好地方,你来的没错... 早几年我一蓑烟雨,吾爱破解,飘云阁什么的都去,现在基本上只泡看雪鸟...
|
能力值:
( LV5,RANK:70 )
|
-
-
18 楼
lz
辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
太棒了,楼主辛苦了
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
感谢楼主
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
顶~~~~~~~~~~
|
能力值:
( LV9,RANK:170 )
|
-
-
22 楼
安于此生,非常乐于奉献知识。 这里顶一个,赞美他的好品德。
|
能力值:
( LV4,RANK:50 )
|
-
-
23 楼
楼主活雷锋!文章中说修改跳转语句我觉得有点不妥,因为你要确定返回值eax没其他地方用到,我觉得直接修改or eax,eax为xor eax,eax更好!
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
/*
功能:DFCG Crackme1的算号器。
说明:直接输入提示的ID NO:,即可生成注册码.
作者:Crack018
时间: 2015.1.4
环境:Visual 2008
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define rol1(a , b ) ((a >> (32-b)) | (a << b));
#define ror1(a , b ) ((a << (32-b)) | (a >> b));
int main(void)
{
int name = 0;
int m_name = 0;
int m_Key = 0;
int i = 0;
printf("请输入ID NO:\n");
scanf("%X", &name);
m_name = name - 0x313233;
m_name = m_name ^ 0x7479;
_asm
{
pusha
mov eax,m_name
bswap eax
mov m_name,eax
popa
}
m_name = m_name >> 0x2;
m_name = m_name + 0x44464347;
m_name = m_name >> 2;
m_Key = m_name;
m_Key = ror1(m_Key,0x2);
printf("ID NO:%X\n", name);
printf("Serial:%u\n", m_Key);
getchar();
getchar();
return 0;
}
|
|
|