吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3706|回复: 21

对汇编真是头疼啊,这一小段都不知道他的目的是什么,希望各位指点下

 关闭 [复制链接]
chinmo 发表于 2014-10-16 00:18 | 显示全部楼层 |阅读模式

本站严厉禁止求脱求破行为(包含无自我分析直接求思路),如发现此类求助主题请点击“举报”,让我们共同维护优质的学习环境!


10HB
本帖最后由 chinmo 于 2014-10-16 01:03 编辑
  1. 7C809E8A    8A08            mov cl,byte ptr ds:[eax]
  2. 7C809E8C    40              inc eax
  3. 7C809E8D    84C9            test cl,cl
  4. 7C809E8F  ^ 75 F9           jnz Xkernel32.7C809E8A
  5. 7C809E91    2BC2            sub eax,edx
复制代码
经过之前的一些朋友提示,我得到了很多提示,也最终到了一些关键点

但对于汇编,实在搞不懂他的作用

比如上面,我是根据输入的注册码追踪到里的,比如9DE02360A7E1226E98FE1B799EF81B7990F51D7A
到了这里他就会重复的执行这段代码,应该是一个循环,
每次循环只用了注册码的一个字符, jnz Xkernel32.7C809E8A 执行到这个就返回mov cl,byte ptr ds:[eax]到这个


直到把注册码所有字符循环完一遍才执行 sub eax,edx 这句
实在不明白这段代码的作用是什么为什么要循环这个注册码呢?
我找这个的目的,就想弄懂这个软件的算法,有一些汇编实在看不懂什么作用,汇编知识太薄弱了,只能来求助各位大神了
这段代码我说下我理解的:
mov cl,byte ptr ds:[eax] ;把eax的值第一个字符传给cl
inc eax;这个我理解的意思是eax的值移位,比如原来是9DE02360A7E1226E98FE1B799EF81B7990F51D7A,移移位就成了DE02360A7E1226E98FE1B799EF81B7990F51D7A,不知道对不对
test cl,cl 这个就不太理解了,是进行and逻辑运算么?那这里结果是什么呢,
jnz Xkernel32.7C809E8A 这个就是一个跳转,不相等就跳转回到mov cl,byte ptr ds:[eax],可是,上面那个都是cl会不相等么?


还有这段代码最后作用是什么呢?


最佳答案

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
春哥 发表于 2014-10-16 00:18 | 显示全部楼层

最佳答案本应属于楼主私有,因此限制查看

您还有0次查看次数,点此查看答案

点此购买查看次数
也可以兑换VIP特权或加入解密专家,每日可免费查看5次最佳答案!

点评

雨季”点评说:
春哥厉害喔  发表于 2014-10-16 08:21

评分

参与人数 1荣耀 +1 收起 理由
zx2cwf + 1 被选中“最佳答案”荣耀+1,感谢你的热心解答!同时也感谢其他热心人!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| chinmo 发表于 2014-10-16 00:37 | 显示全部楼层

@Shark恒 @九幽 大神们,进来帮忙看下吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
幽灵and九幽 发表于 2014-10-16 00:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| chinmo 发表于 2014-10-16 00:52 | 显示全部楼层

九幽 发表于 2014-10-16 00:49
表示看不明白你想表达什么

上面不是说了么?想知道这段代码的作用是什么,为什么要循环那个注册码,没发现他里面有什么比较的东西啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
幽灵and九幽 发表于 2014-10-16 00:54 | 显示全部楼层

你看你的那个地址,你确定已经进到程序里面去了吗?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
幽灵and九幽 发表于 2014-10-16 00:56 | 显示全部楼层

你的意思是那个回跳是吧,你直接在那回跳下面一段F4跳过那个回跳
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| chinmo 发表于 2014-10-16 01:01 | 显示全部楼层

九幽 发表于 2014-10-16 00:54
你看你的那个地址,你确定已经进到程序里面去了吗?

这段代码我说下我理解的:
mov cl,byte ptr ds:[eax] ;把eax的值第一个字符传给cl
inc eax;这个我理解的意思是eax的值移位,比如原来是9DE02360A7E1226E98FE1B799EF81B7990F51D7A,移移位就成了DE02360A7E1226E98FE1B799EF81B7990F51D7A,不知道对不对
test cl,cl 这个就不太理解了,是进行and逻辑运算么?那这里结果是什么呢,
jnz Xkernel32.7C809E8A 这个就是一个跳转,不想等就跳转,可是,上面那个都是cl会不相等么?


还有这段代码最后作用是什么呢?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
微笑的耗子 发表于 2014-10-16 08:45 | 显示全部楼层

高手全部出现
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| chinmo 发表于 2014-10-16 10:31 | 显示全部楼层

扫地僧 发表于 2014-10-16 02:31
mov cl,byte ptr ds:[eax] ;把eax的值传给cl,使其标志位清空,但保留数值
inc eax;eax值+1
test cl,cl  ...

明白了这个,关键搞不懂他为什么要把这个注册码所有字符串循环一遍?里面也好像也没出现跟其他的比较啊,难道就只是为了把eax清空,然后重新一个赋值?如果是这样,也不要这么循环吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

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

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


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

Powered by Discuz!

吾爱汇编 www.52hb.com

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