吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2602|回复: 5

[其他] easy Reverse1

[复制链接]
Xjun 发表于 2015-7-13 21:45 | 显示全部楼层 |阅读模式

//曾经出给学弟的一道简单逆向题 ,没多大难度 ,凑合着玩玩吧
Reverse1.rar (60.57 KB, 下载次数: 588)

评分

参与人数 5HB +26 THX +4 收起 理由
莫离 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Desire + 6 + 1 Shark恒这个人很坏的,又抢我操作!!
虚竹 + 10 + 1 膜拜小俊师傅
xdr + 3 + 1 不懂怎么玩
童真丶 + 6 + 1 = =! 该怎么开始呢.!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
虚竹 发表于 2015-7-13 22:00 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
虚竹 发表于 2015-7-13 22:28 | 显示全部楼层

载入OD后 查字符串 然后找到good  
然后就从001514E0   这个小循环开始分析
> /8A08          mov cl,byte ptr ds:[eax]                 ;  把eax的值给CL(就是假码)
001514DA   .  8D9B 00000000 lea ebx,dword ptr ds:[ebx]
001514E0   >  8A08          mov cl,byte ptr ds:[eax]                 ;  把eax的值给CL(就是假码)
001514E2   .  40            inc eax                                  ;  eax+1
001514E3   .  84C9          test cl,cl                               ;  和EDX对比
001514E5   .^ 75 F9         jnz XReverse1.001514E0
001514E7   .  2BC2          sub eax,edx                              ;  edx减去eax 这里应该就是等于 取我们的 几位数字
001514E9   .  8BD8          mov ebx,eax                              ;  eax的值给ebx  应该保存数值
001514EB   .  85DB          test ebx,ebx
001514ED   .  7E 2D         jle XReverse1.0015151C                   ;  应该检测是否为0
001514EF   .  90            nop
001514F0   >  8BC6          mov eax,esi                              ;  初始化
001514F2   .  99            cdq                                      ;  这里好像EDX清0
001514F3   .  F7FF          idiv edi
001514F5   .  FE4434 18     inc byte ptr ss:[esp+esi+0x18]           ;  假码 第1位数字加1
001514F9   .  8A4C34 18     mov cl,byte ptr ss:[esp+esi+0x18]        ;  把加1后的数值 给cl 保存
001514FD   .  8A5414 10     mov dl,byte ptr ss:[esp+edx+0x10]        ;  取假码第1位给dl 准备异或
00151501   .  32D1          xor dl,cl                                ;  加1后 和原来的假码 一起异或
00151503   .  3A96 2C511500 cmp dl,byte ptr ds:[esi+0x15512C]        ;  这里应该是和异或后的真码第一位比较
00151509   .  75 11         jnz XReverse1.0015151C                   ;  比较不对就跳走


小俊师傅 求教导!小菜分析的有没有错!  

评分

参与人数 1THX +1 收起 理由
纸上谈兵丶无异 + 1 您的“悬赏问答”已解决,故关闭回复。学破解论坛祝您学习愉快!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
哎呦呦 发表于 2015-7-14 00:56 | 显示全部楼层

注册码长度必须是20     CTLers.s加上20位注册码===新的注册码   
((新注册码第1位) 异或 (注册码的第1位自加1 )  ) CMP 24  
((新注册码第2位) 异或 (注册码的第2位自加1)  ) CMP 39
((新注册码第3位) 异或 (注册码的第3位自加1)  ) CMP 2E
((新注册码第4位) 异或 (注册码的第4位自加1)  ) CMP 0D

0D 0E 13 2A 12 1F 54 0D 26 2A 3E 38 05 3E 15 39 2A
以此类推比较20次 全对就OK了  写的有点乱 也不知道分析的对不对??

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
熔灬岩 发表于 2015-7-14 11:28 | 显示全部楼层

flag{_hER0~This_Key}   应该是注册码吧

评分

参与人数 1HB +2 THX +1 收起 理由
Xjun + 2 + 1 很给力,题目意思是逆向,而不是爆破!楼上几位成绩无效!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Xjun 发表于 2015-7-14 13:12 | 显示全部楼层

  1. //DeCode.c

  2. #include <stdio.h>
  3. int Mystrlen(char *pSrc)
  4. {
  5.         int i=0;
  6.         while (*pSrc++ != '\0')
  7.         {
  8.                 i++;
  9.         }
  10.         return i;
  11. }

  12. int main()
  13. {
  14.         int CodeKey[20]={36,57,46,13,14,19,42,18,31,84,13,38,42,62,56,5,62,21,57,42};//文件中提取
  15.         char *szKey="CTLers";
  16.         int nLen=Mystrlen(szKey);
  17.         for(int i=0;i<20;i++)
  18.         {
  19.                 char cTmp=szKey[i%nLen]^CodeKey[i];
  20.                 printf("%c",--cTmp);
  21.         }
  22.         printf("\n");
  23.         return 0;
  24. }
复制代码
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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