大家好,欢迎来到IT知识分享网。
crackme6 分析
注册机:
- #include <stdio.h>
- #include <stdlib.h>
- #define _DEBUG
- int main (int argc, const char * argv[])
- {
- // title : crackme6
- // author: edmond
- // date: 2012.6.25
- // Register Name: edmond
- // Serial: T8166813790
- char *name = “”;
- // f1(Name) = mid_serial;
- char *code_table = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
- char *sec_mid_serial = {0};
- int name_sum = 0;
- sec_mid_serial = malloc(strlen(name)+1);
- for (int i=0; i<strlen(name); i++)
- name_sum += name[i];
- for (int i=0; i<strlen(name); i++)
- sec_mid_serial[i] = (char)(
- (
- (
- ( (code_table[i*3-1]^name[i]) +
- (name_sum*(i-1)^0xFFFFFFFF) +
- 0x14D +
- strlen(name)*(i+3)*name[i]
- )%10+0x30
- )^0xADAC
- )*(i+2)%10+0x30
- );
- char *mid_serial = malloc(100);
- sprintf(mid_serial, “T%s-%d”, sec_mid_serial, (int)(strlen(name)*name_sum%0x64+0x30));
- // f2(mid_serial) = last_serial;
- char *final_serial = malloc(100);
- final_serial[0] = mid_serial[0];
- for (int i=1; i<strlen(mid_serial); i++)
- final_serial[i] = (mid_serial[i]^0x20)%10+0x30;
- #ifdef _DEBUG
- printf(“%s\n”,final_serial);
- #endif
- free(sec_mid_serial);
- free(mid_serial);
- free(final_serial);
- return 0;
- }
转载于:https://blog.51cto.com/applebomb1/909160
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23615.html