吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11332|回复: 130
收起左侧

[原创] 玩玩破解番外篇1—快速分析汇编代码

    [复制链接]
yyhd 发表于 2022-4-16 21:06
本帖最后由 yyhd 于 2022-4-29 11:39 编辑

新人朋友们好:

当你学会了通过下断点找关键代码位置以后,你最需要的是什么?

学会分析代码。

但是很多新人朋友对汇编代码不熟悉,看到这么多代码,头就大了。

于是,只是习惯于找大跳转,然后进行不断的修改测试,蒙对了就完成了破解

对于程序如何验证的?你还是不清楚。

所以,你很难继续提升自我。

为了便于新人朋友进行代码分析,我做了一个“汇编代码自动翻译小助手”,分享给大家使用。

在介绍工具之前,我先简单谈谈分析汇编代码的思路和步骤。

一、掐头去尾

比如我们现在进入一个关键CALL里面,看下面的代码:

微信图片_20220416182853.png


前后两个红色方框内的就是一个子程序通常的头和尾,没有分析的价值,可以忽略掉。

二、重点关注什么

1、关注CALL。
        
        在汇编代码中,CALL就是调用一个函数(子程序),你可以理解为每一个call后面的地址就是一个房间的门牌号,

      (1)如果你F7跟进房间里,你会看到有很多其他的代码,这些代码共同实现某个功能。

      (2)CALL语句的上面如果有push命令,往往就是这个CALL的参数,可以通过CALL语句下面的add esp, ?来判断参数的个数,比如add esp ,0x4就是有一个参数。

      (3)CALL内部的第一个局部变量由[esp-4]或[local.1 ]表示,第二个由[esp-8]或[local.2 ]表示。

2.png
   
2、关注跳转。


      跳转分为无条件跳转和有条件跳转。无条件跳转就是一个jmp,有条件跳转有很多不同的指令。

      因为程序都是通过跳转指令来实现选择不同的执行流程(正确的或是错误的),所以修改关键的有条件跳转指令是爆破一个软件的基本原理。

      因此,我们分析代码要特别关注能够跳到较远的有条件跳转语句,我们称为“大跳转”。

      窍门是看到跳转后有“short”就是小跳,没有的就是大跳。

3.png


3、重点关注参数是用户名和假码的CALL。

      (1)push  用户名    然后   call  地址    。这样的call一般是取真注册码的CALL(算法CALL)。

      (2)push  假码    push  可疑字符串    然后CALL 地址。这样的CALL一般是验证CALL(关键CALL),下面大的跳转大概率是关键跳。

      (3)push  假码   或者 mov  eax,假码 ,然后CALL地址,你可以进CALL以后,直接在段首把代码改为mov eax,1  ,retn ?。

总结一下:

所谓逆向中分析代码,就是在关键代码段中找到算法CALL、验证CALL、关键跳。

所以分析代码的重点是CALL和有条件大跳。

下面简要介绍这个“汇编代码自动翻译小助手”,你可以试试看?

首先声明一下:

1、我只是利用业余时间写的,只做了简单测试,如果有BUG纯属正常,请见谅。

2、本助手的好处是新人们可以对照汇编代码看中文翻译,时间长了,你就可以不用这个工具直接看汇编代码了,这才是目标。

软件截图:

1、原始汇编代码

5.png


2、自动翻译后的代码:

6.png


7.png


如果您觉得对您有用,请对我继续鼓励和支持,我会继续努力!

玩玩破解,写给新人看(第一集)
玩玩破解,写给新人看(第二集)
玩玩破解,写给新人看(第三集)
玩玩破解,写给新人看(第四集)
玩玩破解,写个新人看(第五集)
玩玩破解,写给新人看(第六集)
玩玩破解,写给新人看(第七集)
玩玩破解,写给新人看(第八集)
玩玩破解,写给新人看(第九集)
玩玩破解,写给新人看(第十集)
玩玩破解,写给新人看(第十一集)
玩玩破解,写给新人看(第十二集)
玩玩破解,写给新人看(阶段练习1)
玩玩破解,写给新人看(第十三集)
玩玩破解,写给新人看(第十四集)
玩玩破解,写给新人看(第十五集)
玩玩破解,写给新人看(第十六集)
玩玩破解,写给新人看(第十七集)
玩玩破解,写给新人看(第十八集)
玩玩破解,写给新人看(第十九集)
玩玩破解,写给新人看(第二十集)
玩玩破解,写给新人看(第二十一集)
玩玩破解,写给新人看(第二十二集)
玩玩破解,写给新人看(第二十三集)
玩玩破解,写给新人看(第二十四集)
闲谈如何破解软件?
玩玩破解——小白实战1,你也行!
玩玩破解——小白实战2,巧搜字符串
玩玩破解——小白实战3,易语言字符串比较通杀
玩玩破解——小白实战4,冰火两重天
对新人们学习《玩玩破解》系列教程的集中解答
玩玩破解—加点油,再前行!
玩玩破解—小白实战5,易语言变脸
玩玩破解——小白实战6,再上一层楼,做个注册机
新年送“心”礼,易语言逆向分析助手6.0
重新认识Delphi程序按钮事件特征码
玩玩破解番外篇1—快速分析汇编代码
玩玩破解之逆向工具篇

汇编代码自动翻译小助手.zip

1.11 MB, 下载次数: 1750, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 63吾爱币 +68 热心值 +58 收起 理由
Lichunjian_bj + 1 + 1 谢谢@Thanks!
Moomer + 1 + 1 用心讨论,共获提升!
lyflj + 1 + 1 大佬人好啊
魔术师_ + 1 + 1 谢谢@Thanks!
anyukongling + 1 + 1 谢谢@Thanks!
xingchensea + 1 + 1 我很赞同!
柳月 + 1 + 1 谢谢@Thanks!
lksniper + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Lsygood + 1 + 1 谢谢@Thanks!
luogan129 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
13297243060 + 1 我很赞同!
sodeep + 1 + 1 用心讨论,共获提升!
wuweide + 1 + 1 鼓励转贴优秀软件安全工具和文档!
wmy19890322 + 1 + 1 谢谢@Thanks!
xgwzz + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
远方呢 + 1 + 1 顶起来
MFC + 1 + 1 谢谢@Thanks!
思念曹操 + 1 + 1 用心讨论,共获提升!
JetJerry + 1 + 1 谢谢@Thanks!
acesec + 1 谢谢@Thanks!
Caraciold_Jr + 2 + 1 用心讨论,共获提升!
抱歉、 + 1 用心讨论,共获提升!
笨笨家的唯一 + 1 + 1 我很赞同!
ygwh + 1 + 1 谢谢@Thanks!
AItechnology + 1 + 1 我很赞同!
limit7 + 1 + 1 受小弟一拜
cb2008cn + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
a731062834 + 1 + 1 用心讨论,共获提升!
xxsdpyz + 1 + 1 我很赞同!
we999 + 1 谢谢@Thanks!
netspirit + 1 谢谢@Thanks!
Tunx + 1 + 1 我很赞同!
hotbone + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
caleb110 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
终于注册来了 + 1 + 1 谢谢@Thanks!
sam喵喵 + 1 + 1 谢谢@Thanks!
xgs14569 + 1 + 1 热心回复!
plasd + 1 + 1 谢谢@Thanks!
niestcheer + 1 + 1 大神,膜拜下。小白表示要好好学习
yp17792351859 + 1 + 1 用心讨论,共获提升!
芯醉紅颜 + 1 + 1 谢谢@Thanks!
卑鄙的你 + 1 + 1 谢谢@Thanks!
某中二绅士 + 3 + 1 用心讨论,共获提升!
lho + 1 谢谢@Thanks!
chuiyan121 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
CDCBB + 1 + 1 我很赞同!
bailemenmlbj + 1 + 1 谢谢@Thanks!
helian147 + 1 + 1 谢谢@Thanks!
hardchao + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wapj152321 + 1 + 1 我很赞同!
longge188 + 1 用心讨论,共获提升!
zfzxt8281292 + 1 + 1 谢谢@Thanks!
zchamei + 1 + 1 我很赞同!太有用了。那个大跳转以前看不懂,现在方便多了。
wasdzjh + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
kof888 + 1 + 1 用心讨论,共获提升!
常黑屏 + 2 + 1 感谢!正好需要
笙若 + 1 + 1 谢谢@Thanks!
SHI56 + 1 + 1 谢谢@Thanks!
weiyujian1150 + 1 + 1 用心讨论,共获提升!
bjxiaoyao + 2 + 1 我很赞同!
ybbhai + 1 + 1 谢谢@Thanks!
皇帝的新镜 + 1 + 1 用心讨论,共获提升!
非凡一寓 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

 楼主| yyhd 发表于 2022-4-17 22:45
狄人3 发表于 2022-4-17 20:40
Emm,其实应该纠正一点,就是call之后add esp来看参数是因为函数是cdecl的,由主程序负责平衡栈,而别的不一 ...

说的对,谢谢提醒。_cdecl是win32编程时默认使用的调用约定,__stdcall调用约定用于调用Win32 API函数。因为这个工具用来分析软件作者自己写的CALL,所以主要考虑了第一种调用方式。
kof888 发表于 2022-4-17 06:55
小跳我知道,摇杆快速输入后斜下,然后快速输入前斜上,马上放开摇杆

大跳是摇杆快速输入后斜下,然后快速输入前斜上,摇杆保持方向不变。

不开玩笑了,很多call会带返回值,这个值也是比较重要的参数,一般都会根据这个值来进行判断分之。
ss1314 发表于 2022-4-16 21:10
刀大喵 发表于 2022-4-16 21:22
大佬出品 必属精品
非凡一寓 发表于 2022-4-16 21:29
非常好,对看懂代码帮助很大
mojingtai 发表于 2022-4-16 21:36
谢谢,这个好,
wen1102 发表于 2022-4-16 21:41
66666.jpg
老师给指点一下,搜不到注册提示失败字符串怎么下手
软件地址:http://www.onlinedown.net/soft/251418.htm
zwh8698 发表于 2022-4-16 21:41
这个经典啊
byh3025 发表于 2022-4-16 21:46
wen1102 发表于 2022-4-16 21:41
老师给指点一下,搜不到注册提示失败字符串怎么下手
软件地址:http://www.onlinedown.net/soft/251418. ...

记得这个打印助手是有花指令的,所以搜索不到字符串,
bjxiaoyao 发表于 2022-4-16 21:53
感谢大佬,学你的系列教程收获很大
天空の幻像 发表于 2022-4-16 22:04
呀,这个好像很方便
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-22 16:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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