逆向学习初级历程-traceMe (win32ascii版)
-
我是该开始接触逆向的小白菜,希望在写博客的路上鼓励自己坚持下去
-
刚开始学习逆向需要多多少少了解一些汇编,c,c++,windowns32 API,操作系统方面的知识,如果都没学过,那就只能耐心的,慢慢的学习,遇到一个问题学习一个问题
-
我是按照<加密与解密4>来学习的,第一个例子就是TraceMe的破解,下面是破解的步骤与思路
-
第一步,拿到一个程序,不能直接就去分析,我们要先打开看看,分析他的特征,为我们寻找更多的信息
我们可以发现这个程序有文本框的输入,有字符串提示错与对,肯定就存在一个判断你是对还是错,如果我们能找到正确序列号,或者在这个判断条件中强制改变的他的运行,让他不管什么序列号都跳转到正确的地方,这个程序就破解了 -
我们先找到获取输入框中信息的函数,win32 accii 函数是GetDlgItemTextA,在反汇编窗口ctrl+g 输入函数名
-
经过调试,我发现了程序自动计算的结果,序列号和我们输入的名字有关
- 在经过对比函数之后,肯定就有验证成功和失败两种结果,最简单的就是用爆破法,强制让他变成验证成功,第二种办法就是分析算法的过程,弄明白程序的算法,下面用的简单爆破方法
- 直接将失败的的汇编代码修改
- 这样不管我们输入什么程序都会跳转到执行成功,我们可以保存我们修改过后的执行文件,就达到破解的目的
第一次写博客 我也不知道写了啥玩意 很多步骤都省略了…