首页
社区
课程
招聘
[求助] 自个看到一个有保护的软件,逆向碰到比较奇怪的事情,哪位有时间看看 ?
发表于: 2017-11-24 18:45 3167

[求助] 自个看到一个有保护的软件,逆向碰到比较奇怪的事情,哪位有时间看看 ?

2017-11-24 18:45
3167
软件:ulysses

只是一个查看markdown的工具,本来不是非要逆向它,不过看到它有保护,所以就尝试发现桩,解决。
已知的,动态加载kernel ,运行 isdebugpressent , patch掉了。

不过在进行消息跟踪的时候,发现同一地址,调试单步的指令和运行后查看的指令居然是不一样的。很奇怪 ?
位置如下:

但是执行后再去看,发现显示的不是这样:

对个这比较奇怪,哪位给点提示?
这个作者做了比较多的段和保护。还比较有意思。


[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 308
活跃值: (230)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
仔细一看  popfd  的指令数值就是  9D  ,  数据没有变。  只是显示问题?
2017-11-24 21:22
0
雪    币: 8756
活跃值: (5940)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
               pushfd
               pushfd
               or                DWORD  PTR[esp],0x100
               popfd
               popfd

这样会主动触发一个单步异常,触发前挂一个异常捕获就可以捕获到这个异常了
一般是检测这个异常开始的时间和结束的时间  是否过大,大的话表示有调试器人为操作了
还有就是检测dr7寄存器是否有硬件断点。异常内可能还会有标记是否被运行过,在下面的代码检测标志位。
2017-11-24 23:46
0
雪    币: 4899
活跃值: (9334)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
4
mudebug pushfd pushfd or DWORD PTR[esp],0x100 popfd popfd 这样会主动触发一个单步异常,触发前挂一个异常捕获就可以捕获到这个 ...
感谢指点,刚开始单步的时候,对两处pushfd  pushfd也比较奇怪,我试试。
2017-11-27 10:11
0
雪    币: 4899
活跃值: (9334)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
5
noNumber 仔细一看  popfd  的指令数值就是  9D  ,  数据没有变。  只是显示问题?
确实与显示有关,之前使用x64dbg调试,换成OD,这部分显示为数据,但是能分析出指令:
00C7DDE1      .^\75  DD                  JNZ  SHORT  ulysses.00C7DDC0
00C7DDE3            E9                        DB  E9
00C7DDE4      >    61                        POPAD
00C7DDE5      .    9D                        POPFD
00C7DDE6      .    66:92                  XCHG  AX,DX
00C7DDE8      .    66:92                  XCHG  AX,DX
00C7DDEA      .    8BC0                    MOV  EAX,EAX
00C7DDEC      .    C645  9E  01        MOV  BYTE  PTR  SS:[EBP-0x62],0x1
00C7DDF0      .    70  07                  JO  SHORT  ulysses.00C7DDF9
00C7DDF2      .    7C  03                  JL  SHORT  ulysses.00C7DDF7
而且以数据显示。
2017-11-27 11:52
0
游客
登录 | 注册 方可回帖
返回
//