吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4819|回复: 12
收起左侧

[原创] 心机NAG

[复制链接]
风车 发表于 2016-5-21 10:46
    嘻嘻,第一次在论坛上发正式帖子,想想还有点小激动呢,嘿嘿,先说好了,我就是个小白,所以分析的程序也是...所以,大神们请略过,只因不想一直做伸手党,所以分享一个自己分析的NAG哈...

分析一个耍心机的NAG,有点小虐心
一、程序运行
1、运行界面
                1.png
    出现一个NAG窗口,提示需要去除它
2、点击“确定”
                2.png
3、查壳
                3.png
    查证是 MASM32写的程序,并没有加壳

二、载入OD分析
   (1NAG初探
             4.png
    咦,这不是一下子就看到了,NAG窗口提示信息了呀,那我直接NOP掉不就完事儿了,简单...真的这样子吗?试一试:

         5.png
    事实是并没有达到想象的效果,NAG、依然出现了
       6.png
  (2)NAG再探
      1、重新载入OD,点击”分析代码”,遇到第一个CALL 进入看看
                        7.png
        进入看看写了什么
                     8.png
       这里显然的几行代码,看看是在和从地址401000处,XOR操作,我们先看看401000出的代码
                      9.png
       大概就是这个样子的,执行完那个CALL会不会发生变化呢?
                        
       那就试试看:
                     
       可以看到EAX = 00401218,也就是说从00401000 - 00401218处代码或者数据做了处理了,查看此时的00401000处的代码【PS:数据肯定是改变了的】
                     11.png
      好吧,果然真的代码变了,也就是说,这里是对00401000 - 00401218处的代码重写了呀
  
   2、从上一个CALL中跳出来以后,下面还有一个CALL呢,进入
                   12.png
      执行分析这段代码,好像和上一段代码类似哎,在修改指令或代码呢?先执行看看啊
                   13.png
      可以看到此处竟然是对该CALL函数入口处做修改???往下执行看看
                  15.png
      确实修改了此处指令,可以看到有一个MessageBoxA被解析出来了,但是参数看不到,比较看到此处修改范围:401011 - 401025

           3、看到指令在CALL EDI(从右边的注释可以看到是调用的是刚才第一个CALL修改的指令),进入看看
                   16.png
      这数据 和 MessageBoxA的参数有什么关系?都是文字,是不是此处会修改数据了?
                   17.png

      真的是这样的,好吧

      再往下走,就会执行这个MessageBoxA 输出NAG窗口了

去除NAG
   解决方案一 修改MessageBoxA 调用参数父句柄值为1
1.修改MessageBoxA第一个参数,即将代码位置40101D00改为01.但是该位置代码是前面第二阶段代码自修改后写入的值,因此,应该在代码自修指令中对40101D修改的值改为0x5B(01 XOR 0x5A),即将代码位置为401038处修改为0x5B
       18.png
     这里是子句柄的值为0 ,要修改为1,就不会显示NAG窗口了

     思路:应该去到修改40101D处的代码地方,刚才好像MessgeBoxA被解析出来是在第二个CALL
      19.png
     就是在此处修改的:
     00401035   ?  66:C707 6A00  mov word ptr ds:[edi],0x6A
    可以数一下,此处写入的是6A,但是这是修改过的值,所以在此修改达不到目的,应该找是哪里修改的6A对应指令地址,即:00401038


2.使用Ctrl+G跳到401038处,选中该处数据,右键选择二进制->编辑->填入5B,确定退出;选中修改过的数据,右键“复制到可执行文件”->在弹出的可执行文件窗口中,右键保存文件
    21.png

   OK,执行文件,已经没有NAG窗口了

解决方案二 直接jmp跳过nag窗口调用:
        1.401011处汇编(空格),填入指令jmp 0040106A,即MessageBoxA 调用返回后的下一条指令,查看机器码为EB 57,重新加载程序,F7跟进修改自身代码调用CALL 401011,发现在地址00401013处指令对401011的指令进行了修改,查找到该指令在00401016处为写入代码
          22.png
  2.使用Ctrl+G跳到401016处,依次选中该处数据,右键选择二进制->编辑->填入 B1 0D,确定退出;选中修改过的数据,右键“复制到可执行文件”->在弹出的可执行文件窗口中,右键保存文件
         EB XOR 5A = B1
         57 XOR 5A = 0D
          23.png

           OK了,程序同样不会弹出NAG窗口了

嘿嘿,附件哈...
ReverseMe.zip (19.04 KB, 下载次数: 0)

14.png

免费评分

参与人数 6热心值 +6 收起 理由
GoldsNow + 1 我很赞同!
tail88 + 1 鼓励转贴优秀软件安全工具和文档!
5org + 1 我很赞同!
lfd118 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
蛹壳 + 1 我很赞同!
bansjs + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

 楼主| 风车 发表于 2016-5-21 10:50
还有啊,刚才怎么回事儿,我发的贴子为啥被删了,求版主明示
榻榻米 发表于 2016-5-21 11:32
风车 发表于 2016-5-21 11:23
没有,那个贴子不是我删的,好像是因为发错板块了被版主处理了

那不对啊  应该是移动帖子 而不是删除帖子啊 你现在又重新发帖上传岂不太麻烦了  你这种情况可以找Himily版主申诉肯定没问题的。
 楼主| 风车 发表于 2016-5-21 10:48
 楼主| 风车 发表于 2016-5-21 11:02
风车 发表于 2016-5-21 10:50
还有啊,刚才怎么回事儿,我发的贴子为啥被删了,求版主明示

好像是刚才发错地方了

点评

发错应该是移动到相应版块而不是删帖啊,毕竟内容没有违规。  发表于 2016-5-21 14:37
榻榻米 发表于 2016-5-21 11:20
貌似楼主花了80cb买了个悔悟卡把原先那个帖子删了?
 楼主| 风车 发表于 2016-5-21 11:23
榻榻米 发表于 2016-5-21 11:20
貌似楼主花了80cb买了个悔悟卡把原先那个帖子删了?

没有,那个贴子不是我删的,好像是因为发错板块了被版主处理了
 楼主| 风车 发表于 2016-5-21 14:18
榻榻米 发表于 2016-5-21 11:32
那不对啊  应该是移动帖子 而不是删除帖子啊 你现在又重新发帖上传岂不太麻烦了  你这种情况可以找Himily ...

哦哦,可以酱紫啊,早就知我就不这么麻烦了,我还以为自己违规了呢,谢谢你哈
tail88 发表于 2016-5-21 16:08
学习学习。感谢楼主发教程啊。
lizhipei78 发表于 2016-5-21 20:07
不知道是做什么用的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-1-10 15:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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