• OD使用教程7(上) 调试篇07|解密系列


    OD使用教程7(上)- 调试篇07

     

    让编程改变世界

    Change the world by program


      小甲鱼觉得,掌握逆向的思维尤为重要。 所以在咱的OD使用教程中,不单会告诉你怎么去逆向这个软件,小甲鱼更多想引导大家发挥自己的想象力,在理解原理的基础上用更多创新的方法实现突破。(此处应该有掌声)   好滴,咱一起来看一下今天的对手,正所谓知己知彼杀杀杀! VisualSite Designer.exe  

    破解的思路

      仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需要你掏腰包来获得更多的功能或者解除限制。 那么我们就可以逆向的来思考,如果该程序成功的注册后,那么程序的行为必将发生变化,如NAG去除了,如功能限制没有了等等。 也就是说,程序的代码的走法也会跟未注册的时候截然不同。因为程序的行为改变了,那么决定它所有行为的代码走法也会发生变化。  

    小甲鱼在这里再举个例子:

    未注册 -> 不跳过NAG窗口

    已注册 -> 改编代码或条件,跳过NAG窗口

      说啥呢?也就是说我们只需要找到这个判断是否需要“跳”的条件即可。 另外补充说一点,一般我们说条件跳转,鱼油们一定会想到:cmp XX,XX 然后jz或jnz或jl等。   其实还有另外一种形式,叫做可变跳转。 小甲鱼描述能力仅限于美女,还是举个例子吧: 例如jmp eax,无疑是一个直接的跳转。但是我们知道eax是一个寄存器,对于高级语言的说法它就是一个变量,里边的值随时可以改变。  

    那么完全可以这样:

    未注册 -> eax == 004013A0

    已注册 -> eax == 00401354

      所以这个例子告诉我们,世界很大,也很邪恶,坏叔叔很多,他们鬼点子更多,要实现技术的突破,就要打破传统的思维模式。 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LPAKDUIPHNKJ']视频下载[/Downlink] [Downlink href='http://urlxf.qq.com/?aiQnQz6']备胎下载[/Downlink]
  • 相关阅读:
    C++文件流类与文件流对象
    当java出现异常,应如何进行处理
    C语言函数的声明以及函数原型
    MySQL的create table as 与 like区别
    java中BigDecimal加减乘除基本用法
    项目小结
    自动化测试 如何快速提取Json数据
    Java Map 集合类在selenium自动化测试设计中的应用
    UFT对于PDF 文档的操作方法 VBS代码
    Selenium 自动化测试中对页面元素的value比较验证 java语言
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846257.html
Copyright © 2020-2023  润新知