吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5011|回复: 13
收起左侧

[CrackMe] 【crackme】初次尝试

[复制链接]
陌路无人 发表于 2017-7-13 00:48
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

第一次使用vc编写crackme,有什么不对的地方还请指出来,发错区请管理移一下,麻烦了。
软件是vc6.0编写的,窗口就是cmd窗口,如图
错误输出N

正确输出Y


没什么技术含量,初次尝试,请多多包涵。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ahmeijian + 1 + 1 谢谢@Thanks!

查看全部评分

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

zbnysjwsnd8 发表于 2017-7-13 17:41
本帖最后由 zbnysjwsnd8 于 2017-7-13 17:43 编辑

任选一组即可。
[Asm] 纯文本查看 复制代码
100840  101840  102840  103840  104840  105840  106840  107840  108840  109840  110840  111840  112840  113840  114840
115840  116840  117840  118840  119840  120840  121840  122840  123840  124840  125840  126840  127840  128840  129840
130840  131840  132840  133840  134840  135840  136840  137840  138840  139840  140840  141840  142840  143840  144840
145840  146840  147840  148840  149840  150840  151840  152840  153840  154840  155840  156840  157840  158840  159840
160840  161840  162840  163840  164840  165840  166840  167840  168840  169840  170840  171840  172840  173840  174840
175840  176840  177840  178840  179840  180840  181840  182840  183840  184840  185840  186840  187840  188840  189840
190840  191840  192840  193840  194840  195840  196840  197840  198840  199840  200840  201840  202840  203840  204840
205840  206840  207840  208840  209840  210840  211840  212840  213840  214840  215840  216840  217840  218840  219840
220840  221840  222840  223840  224840  225840  226840  227840  228840  229840  230840  231840  232840  233840  234840
235840  236840  237840  238840  239840  240840  241840  242840  243840  244840  245840  246840  247840  248840  249840
250840  251840  252840  253840  254840  255840  256840  257840  258840  259840  260840  261840  262840  263840  264840
265840  266840  267840  268840  269840  270840  271840  272840  273840  274840  275840  276840  277840  278840  279840
280840  281840  282840  283840  284840  285840  286840  287840  288840  289840  290840  291840  292840  293840  294840
295840  296840  297840  298840  299840  300840  301840  302840  303840  304840  305840  306840  307840  308840  309840
310840  311840  312840  313840  314840  315840  316840  317840  318840  319840  320840  321840  322840  323840  324840
325840  326840  327840  328840  329840  330840  331840  332840  333840  334840  335840  336840  337840  338840  339840
340840  341840  342840  343840  344840  345840  346840  347840  348840  349840  350840  351840  352840  353840  354840
355840  356840  357840  358840  359840  360840  361840  362840  363840  364840  365840  366840  367840  368840  369840
370840  371840  372840  373840  374840  375840  376840  377840  378840  379840  380840  381840  382840  383840  384840
385840  386840  387840  388840  389840  390840  391840  392840  393840  394840  395840  396840  397840  398840  399840
400840  401840  402840  403840  404840  405840  406840  407840  408840  409840  410840  411840  412840  413840  414840
415840  416840  417840  418840  419840  420840  421840  422840  423840  424840  425840  426840  427840  428840  429840
430840  431840  432840  433840  434840  435840  436840  437840  438840  439840  440840  441840  442840  443840  444840
445840  446840  447840  448840  449840  450840  451840  452840  453840  454840  455840  456840  457840  458840  459840
460840  461840  462840  463840  464840  465840  466840  467840  468840  469840  470840  471840  472840  473840  474840
475840  476840  477840  478840  479840  480840  481840  482840  483840  484840  485840  486840  487840  488840  489840
490840  491840  492840  493840  494840  495840  496840  497840  498840  499840  500840  501840  502840  503840  504840
505840  506840  507840  508840  509840  510840  511840  512840  513840  514840  515840  516840  517840  518840  519840
520840  521840  522840  523840  524840  525840  526840  527840  528840  529840  530840  531840  532840  533840  534840
535840  536840  537840  538840  539840  540840  541840  542840  543840  544840  545840  546840  547840  548840  549840
550840  551840  552840  553840  554840  555840  556840  557840  558840  559840  560840  561840  562840  563840  564840
565840  566840  567840  568840  569840  570840  571840  572840  573840  574840  575840  576840  577840  578840  579840
580840  581840  582840  583840  584840  585840  586840  587840  588840  589840  590840  591840  592840  593840  594840
595840  596840  597840  598840  599840  600840  601840  602840  603840  604840  605840  606840  607840  608840  609840
610840  611840  612840  613840  614840  615840  616840  617840  618840  619840  620840  621840  622840  623840  624840
625840  626840  627840  628840  629840  630840  631840  632840  633840  634840  635840  636840  637840  638840  639840
640840  641840  642840  643840  644840  645840  646840  647840  648840  649840  650840  651840  652840  653840  654840
655840  656840  657840  658840  659840  660840  661840  662840  663840  664840  665840  666840  667840  668840  669840
670840  671840  672840  673840  674840  675840  676840  677840  678840  679840  680840  681840  682840  683840  684840
685840  686840  687840  688840  689840  690840  691840  692840  693840  694840  695840  696840  697840  698840  699840
700840  701840  702840  703840  704840  705840  706840  707840  708840  709840  710840  711840  712840  713840  714840
715840  716840  717840  718840  719840  720840  721840  722840  723840  724840  725840  726840  727840  728840  729840
730840  731840  732840  733840  734840  735840  736840  737840  738840  739840  740840  741840  742840  743840  744840
745840  746840  747840  748840  749840  750840  751840  752840  753840  754840  755840  756840  757840  758840  759840
760840  761840  762840  763840

[C] 纯文本查看 复制代码
#include <stdio.h>
int func(int a)
{
	unsigned int i;
	unsigned int result;
	i = 0;
	while(true)
	{
		if((int)i > 8)
			break;
		result = a % 10;
		if(result != i)
			break;
		a /= 10;
		i += 4;
	}
	if(i != 12)
		return 0;
	return 1;
}
int main(void)
{
	int a = 100000;
start:
	while(!func(a))
		a++;
	if(a >= 764000)
	{
		while(true);
		return 0;
	}
	printf("%d\t",a);
	a++;
	goto start;
	return 0;
}
SeriousSnow 发表于 2017-7-13 11:18
[Asm] 纯文本查看 复制代码
00401213   > \837D F8 00    cmp dword ptr ss:[ebp-0x8],0x0
00401217   .  74 06         je short crackme.0040121F
00401219   .  837D F8 08    cmp dword ptr ss:[ebp-0x8],0x8
0040121D   .  75 05         jnz short crackme.00401224
0040121F   >  E8 EBFDFFFF   call crackme.0040100F
00401224   >  837D F8 04    cmp dword ptr ss:[ebp-0x8],0x4
00401228   .  75 05         jnz short crackme.0040122F
0040122A   .  E8 DBFDFFFF   call crackme.0040100A
0040122F   >  837D F8 0C    cmp dword ptr ss:[ebp-0x8],0xC
00401233   .  75 15         jnz short crackme.0040124A
00401235   .  0FBE15 148342>movsx edx,byte ptr ds:[0x428314]         ;  Y
0040123C   .  52            push edx                                 ;  crackme.00427A68
0040123D   .  68 24504200   push crackme.00425024                    ;  %c
00401242   .  E8 59000000   call crackme.004012A0                    ;  输出Y

随便改下跳转就行了,,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
爱飞的猫 发表于 2017-7-13 01:14
本帖最后由 jixun66 于 2017-7-13 01:16 编辑

序列号:666840

直接扔的 IDA F5... 算法比较简单。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
陌路无人 + 1 + 1 已答复!
朱朱你堕落了 + 1 + 1 膜拜算法牛。

查看全部评分

黑龍 发表于 2017-7-13 01:56
jixun66 发表于 2017-7-13 05:14
序列号:666840

直接扔的 IDA F5... 算法比较简单。

太打击像我们这样的新手了

点评

pwp
膜拜黑龙大神  发表于 2017-7-13 13:12

免费评分

参与人数 1吾爱币 +1 收起 理由
陌路无人 + 1 用心讨论,共获提升!

查看全部评分

ugvnui 发表于 2017-7-13 09:12
本帖最后由 ugvnui 于 2017-7-13 09:22 编辑

输入的值转换为整数
判断转换后的值是不是小于764000
然后重新写了下你的代码。呵呵

int v3 = int.Parse(注册码);//将输入的值复制给变量V3
            for (int i = 0; i <= 8;)//循环8次
            {
                if (v3 % 10 == i)//循环中判断V3取余数是不是等于I
                {
                    i += 4; //如果等于则 I+4
                }
                v3 /= 10;//

                if (i==12)//如果I=12了。则直接将byte转为字符Y
                {
                    MessageBox.Show("Y");
                }               
            }

只要符合上面算法即为成功,,小菜不知分析对不对,望大牛点评!

特附上几组成功码:
103840
104840
105840
106840
107840
108840
109840
110840
111840
112840

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
zbnysjwsnd8 + 1 + 1 膜拜IDA大佬
陌路无人 + 1 + 1 很厉害哈,和源码差不多了,算法简单了一些,结尾840是要点。

查看全部评分

小菜戏大神 发表于 2017-7-13 13:14
学习中,一起努力
夏宇 发表于 2017-7-13 16:51
学习了!!!!
克拉克 发表于 2017-7-13 18:25
膜拜大妞们
1296565985 发表于 2017-7-13 18:30
感谢楼主!~ 自己试了一下代码大概是这样吧。
#include "stdio.h"
int main()
{
        int n ;
        scanf ("%d", &n );
        if ( n >= 100000 && n <= 764000 ) {
                for ( int i = 0 ; i < 3 ; i ++ )
                {
                        if ( n % ( ( i + 1 ) * 10 ) == i * 4 ) {
                                printf ( " Y \n" );
                        }
                }
        } else {
                printf( " N \n" );
        }
        return 0;
}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 19:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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