吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4839|回复: 14
收起左侧

[分享] 逆向工程核心原理样例程序调试手记

  [复制链接]
yaoyao7 发表于 2019-1-15 18:26
本帖最后由 yaoyao7 于 2019-1-16 08:54 编辑

今天开始重新看一遍《逆向工程核心原理》这本书,对书中的样例程序进行逆向分析,做一个简单的手记。
1,首先运行程序看看:
程序运行.png
一个简单的验证程序,随便输入一个Name和Serial:
密码错误.png
(有提示消息,还是消息框,说不定后面有可能用到。先留意一下,根据具体调试情况再说)

2,OD打开
判断为VB程序.png
OD自动定位位置,从代码中可以很明显看出这是一个VB程序(VB的汇编特征就不说了吧2333)
3,因为运行程序的时候有提示消息,先看一下程序中的字符串:
字符串.png
看到了可能的判断位置的字符串,跳过去
判断语句.png
跳到字符串出现位置,发现了关键语句:VB的一个字符串判断语句,而且有一个条件转移语句
这里是调用__vbaVarTstEq()函数,比较返回值后,再由JE决定执行哪里的代码。
4,既然3中找到了__vbaVarTstEq()函数,那么它的参数肯定是在它被调用之前就已经传入了,而传入的参数应该是我们输入的字符串和经过处理的字符串,
向上找:
参数传递.png
在函数调用上面,直接看到了两个入栈操作,推测就是__vbaVarTstEq()函数的需要的两个字符串
进入dump中查看相应的数据:
serial.png
OK,找到了我们输入的serial和经过处理后的serial。
(这里需要用Address with ASCII dump来查看dump中的数据才能看到)
5,测试一下:
正确.png
搞定!
(这也太简单了?!!没错,我们只是从内存中找到了明文,但是没有弄清楚处理过程。所以,接下来尝试搞定serial的处理方法:)
首先我们确定一下思路:程序需要我们输入Name和Serial,然后点击check按钮,那么点击check按钮之后就是对我们输入的字符串进行了处理和对比。
一般情况下,处理方法的一种是利用name数据进行serial生成,然后做对比。
而且,我们在输入name的时候,必须大于4个字符,这是不是也说明了什么呢?留意一下~
1,运行程序,输入name和serial后,回到OD:
check.png
程序断下,这就是check需要执行的操作。
往下翻翻,应该会有字符串相关的操作:
字符串存储.png
果然,发现了字符串存储位置,而CALL    DWORD PTR DS:[ECX+A0]则用于获取Name。
2,继续调试,发现了一个循环:
循环计数.png
这里用EBX作为循环计数器,而且只有4次,证实了我们的猜测,serial与name是相关的,用于循环进行字符处理
看循环体:
循环开始.png
循环结束.png
3,循环体内部执行的就是字符串处理操作:
字符串处理.png
程序读入name的第一个字符,然后利用rtcAnsiValueBstr函数将字符转换为ASCII码进行保存
字符处理.png
以此将name中的字符转换为ASCII码,然后加上64,然后再转换为unicode字符,所得结果就是处理之后的serial,一共取name的前四位字符进行操作。
循环处理.png
程序很简单,调试过程也比较简单,但是感觉对于新手来说能很快地找到感觉,熟悉一下调试逆向的流程,感觉还是不错的。
顺便说下,掌握常见的程序语言的汇编形式还有常见的验证机制很重要,可以很大程度上找到逆向的切入点,也能提高调试效率。
继续学习吧~

免费评分

参与人数 5吾爱币 +8 热心值 +3 收起 理由
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
A3uRa + 1 我很赞同!
ipone4s + 1 谢谢@Thanks!
2898531823 + 1 谢谢@Thanks!
影子与友 + 1 + 1 我很赞同!

查看全部评分

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

 楼主| yaoyao7 发表于 2019-1-15 18:44
传不了图了,到限制了,明天再修改完善,,,尴尬了
LVSHUO 发表于 2019-1-15 19:23
暮寒 发表于 2019-1-15 21:27
翻书风 发表于 2019-1-15 21:35
学习一下
SHIWULUOLI 发表于 2019-1-15 22:27
虽然不看不懂,但是不妨碍我学习
清风笑竟若寂寥 发表于 2019-1-15 22:57
感谢楼主的分享
haoii123 发表于 2019-1-16 09:28
感谢楼主的分享
会成功的人 发表于 2019-1-16 11:17
感谢楼主的分享
dafs 发表于 2019-1-16 12:15
学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 22:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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