首页
论坛
专栏
课程

[原创]分析半斤八两的全新的反调试第1季(无需网络)帖子报告

2018-11-7 22:15 2199

[原创]分析半斤八两的全新的反调试第1季(无需网络)帖子报告

2018-11-7 22:15
2199

【文章标题】: 全新反调试CM

【文章作者】: 半斤八两

【软件名称】: 全新的反调试第1季(无网无壳版).exe

【下载地址】: https://bbs.pediy.com/thread-187142.htm

【使用工具】: IDA、OD、资源工具

【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

--------------------------------------------------------------------------------


作者需求:

一种全新的反调试思路.

程序主要参考了 tmd和超时代 的思路.

程序运行起来后.点那个按钮,会触发 MessageBoxA  断点.

如果你能在ollydbg中断下来, 那么,你就搞掂了,如果你搞掂了,记得分离一下  :)

                               By 半斤八兩

                                2014.04.28


0、参考资料、预备知识

1、常见进程注入的实现及内存dump分析——反射式DLL注入(下)

网址:来自 <https://bbs.pediy.com/thread-224241.htm>

2、傀儡进程技术实现

网址:来自 <https://www.52pojie.cn/thread-501486-1-1.html>

3、在VC中使用自定义资源,FindResource,LoadResource,LockResource

网址:来自 <https://www.cnblogs.com/gakusei/articles/1352922.html>

4、调试器设计(2)

网站:来自 <https://bbs.pediy.com/thread-107838.htm>

1、准备工作收集信息

1、软件运行界面

2、资源工具

获取到的信息:

1、里面藏着一个PE文件

2、Dialog里面并没有按钮的选项

3、我们将PE文件导出来为123.exe


3、查看导出来的PE文件信息

1、双击运行是显示错误的

2、我们发现导出来的PE文件里面就有我们需要的按钮


2、IDA、OD结合分析

首先想到的是应该先下MessageBoxA、MessageBoxW(当然是没用的)

1、软件操作都是双击完按钮之后触发的,那么我们该如何定位

2、OD、IDA分析上下文

通过F5跟OD大概获取到的信息:

1、程序释放出自身的PE文件

2、sub_401BB0看参数,应该是把PE文件缓冲区跟大小传进去,然后返回个PID

3、附加进程、恢复线程

3、分析sub_401BB0函数

3、1:首先分析sub_401570函数

获取到的信息:

1、拷贝PE基本信息、区段信息

2、程序是自己实现了LoadLibrary函数

3、2:分析sub_401990函数

总结:

进行傀儡进程操作

1、分析sub_4018A0函数

PCHunter工具可以看到这个傀儡进程

2、分析sub_401830函数

3、后续都是傀儡进程操作了

4、sub_401F10函数调试框架分析

4、1:sub_401D70函数分析

我们在这两处都下断

结合上下文逻辑:

1、B程序无法直接打开

2、A程序又以附加方式打开B,那么就说明A修复了B的BUG

3、我们发现修改上下文的就只有两处,那么我们就在这两处都下断点

代码中断在下面的Context.Eax = sub_401D60(Context.Eax, DebugEvent.dwThreadId);这一句上

那么我们只要知道代码中断的IP地址即可

我们可以通过CONTEXT结构(VS按F12)往上翻

OD查看

出错代码地址:

40145B


5、使用CE、IDA等工具查看B进程的内存状态

发现这里面有一个CC断点,导致代码错误的

第一步先把INT改成NOP

第二步有两种选择

1、这两句NOP掉

00401468  |.  33C1          xor eax,ecx

0040146A  |.  35 76983412   xor eax,0x12349876

2、要么就学A程序多加几句汇编代码,再异或回去

00401444      33C1          xor eax,ecx

00401446      35 76983412   xor eax,0x12349876

0040144B      5F            pop edi

0040144C      C2 0400       retn 0x4

0040144F      90            nop

00401450      57            push edi

00401451  |.  BF D80E1400   mov edi,0x140ED8

00401456  |.  8B4424 08     mov eax,dword ptr ss:[esp+0x8]

0040145A    ^ EB E8         jmp short 123.00401444

0040145C      90            nop

0040145D      90            nop

0040145E      90            nop


6、完结撒花



[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

最后于 2018-11-9 10:18 被黑手鱼编辑 ,原因:
上传的附件:
上一主题 下一主题
最新回复 (6)
zhczf 2018-11-7 22:18
2
0
路过,来支持楼主分享技术和经验
虫子回归 2018-11-8 01:02
3
0
一个瑟瑟发抖的小菜路过
aqtata 2 2018-11-8 08:18
4
0
学习一下,为什么不直接贴到论坛里呢?
黑手鱼 2 2018-11-8 10:30
5
0
贴出来了,但是显示不全
gaoweb 2018-11-8 10:45
6
0
黑手鱼 贴出来了,但是显示不全
需要重新编辑一下,可能有些敏感代码被过滤了
Besttwuya 2019-1-12 04:43
7
0
支持,
游客
登录 | 注册 方可回帖
返回