首页
社区
课程
招聘
[原创]06.12.03.17 反汇编代码格式化工具 1.1
发表于: 2012-3-17 19:12 5120

[原创]06.12.03.17 反汇编代码格式化工具 1.1

2012-3-17 19:12
5120
功能:
1.这是一个 格式化 OD与WINDBG 反汇编代码的工具
2.可以是杂乱的 OD与 WINDBG 代码编的更加清晰
3.你可以把一篇 含有复杂OD代码的文章放入其中进行 格式化(代码片段效果更好!!!)
软件界面图:


【处理OD代码前】


【处理OD代码后】


【处理WINDBG代码前】


【处理WINDBG代码后】


反汇编代码格式化工具 1.1.rar

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 63
活跃值: (76)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
感谢分享,楼主辛苦了!
2012-3-17 20:07
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
恩,又是记录的时候,能用的上

但如果能格式化整篇文章就好了,还有 地址 和 只能之间多加几个空格
2012-3-17 20:09
0
雪    币: 157
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
可以格式化整个文章!!!
2012-3-17 20:25
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
不行的,我试过了,还有在看雪中找到一篇很有趣的一段,我没修改过哦(原版就是这样)

0040A000 60 pushad//进入OD后停在这
0040A001 F9 stc//ACProtect V1.20以前的版本则利用入口pushad后的ESP值!
0040A002 D3FD sar ebp,cl
0040A004 0F80 01000000 jo Feedback.0040A00B
0040A00A FC cld
0040A00B FC cld
0040A00C 49 dec ecx
0040A00D C1DB FE rcr ebx,0FE
0040A010 85CF test edi,ecx
0040A012 72 03 jb short Feedback.0040A017
0040A014 73 01 jnb short Feedback.0040A017
0040A016 7A 81 jpe short Feedback.00409F99//ACProtect V1.20典型入口代码

我说的整篇文章就是有中文字体在内的,提了这些意见是希望楼主能把它完善,呵呵

   0040A529    48              dec     eax               = 6DE8F628
   0040A52D    35 9EA50057     xor     eax, 5700A59E     = 3AE853B6
   0040A533    F7D0            not     eax               = C517AC49
   0040A53C    F7D8            neg     eax               = 3AE853B7
   
   0040A7D8    0FC8            bswap   eax               = B753E83A
   
   0040AABD    05 CD272BA2     add     eax, A22B27CD     = 597F1007
   0040AAC7    F7D0            not     eax               = A680EFF8
   0040AACF    0FC8            bswap   eax               = F8EF80A6
   0040AAD3    C1C0 07         rol     eax, 7            = 77C0537C  (msvcrt.__set_app_type)
   
   就是这样,没什么神秘的,注意上面是空白处是分开了几个 CALL 完成的

  0040A99C    874424 08       xchg    dword ptr [esp+8], eax           ; msvcrt.__set_app_type   
  0040A9A0    C64424 04 D8    mov     byte ptr [esp+4], 0D8
  0040A9A5    9C              pushfd
  0040A9A6    FF7424 0C       push    dword ptr [esp+C]
  0040A9AA    C2 1000         retn    10                               ; 用这样的方式流到 API 地址工作
2012-3-17 20:50
0
雪    币: 157
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
恩。过两天升级弄个完美的!
2012-3-17 20:55
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
接近完美了,恭喜,再给个意见,凡是堆栈地址后面的地址保存

BP VirtualProtect  中断后看堆栈:
0012D6C4   0091EE22  /CALL 到 VirtualProtect 来自 原版FTPR.0091EE1C
0012D6C8   011F1000  |Address = 011F1000     正是需要修改的壳区段基址
0012D6CC   00029DEA  |Size = 29DEA (171498.)
0012D6D0   00000020  |NewProtect = PAGE_EXECUTE_READ  ★
0012D6D4   0012D6F0  \pOldProtect = 0012D6F0

————  转换后

BP VirtualProtect  中断后看堆栈:
  0012D6C4     irtualProtect 来自 原版FTPR.0091EE1C ;
  0012D6C8     0012D6C8 011F1000  |Address = 011F1000     正是需要修改的壳区段基址 ;
  0012D6CC     ize     = 29DEA (171498.)          ;
  0012D6D0     0012D6D0 00000020  |NewProtect = PAGE_EXECUTE_READ  ★ ;
  0012D6D4     \pOldProtect = 0012D6F0            ;
2012-3-19 10:06
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
8
求格式化引擎代码
2012-3-19 10:27
0
雪    币: 157
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
已修改,这次应该没有太大的问题了
2012-3-19 13:25
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
嗯,压力测试了一下,很好了。。。。可是 。。。。歪了   可能我系统的问题。。。。。
上传的附件:
  • 1.jpg (9.41kb,372次下载)
2012-3-19 13:37
0
雪    币: 157
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
堆栈 与 普通的 OD码起始位置不同!!!! 便于区分!!
2012-3-19 13:40
0
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
真是个好工具
2012-3-19 16:12
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
..谢谢分享
2012-3-20 15:30
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
郁闷了

00429E1D    9D              POPFD
00429E1E    8B09            MOV ECX,DWORD PTR DS:[ECX]    ; [0042AD7C]=116h
00429E20    9C              PUSHFD
00428600    81C2 9D1DF602   ADD EDX,2F61D9D               ; EDX = F1F2F4F8 初始值
00428606    9D              POPFD
00428607    31C0            XOR EAX,EAX
0042A12E    AC              LODS BYTE PTR DS:[ESI]        ; 0042CB40
0042C614    01C2            ADD EDX,EAX
0042C616    C1C2 03         ROL EDX,3
0042C619    31C2            XOR EDX,EAX
0042C61B    49              DEC ECX
0042C61C  ^ 0F85 15F8FFFF   JNZ TestDebu.0042BE37         ; 注意这里不是循环出口.
0042BAF1    AC              LODS BYTE PTR DS:[ESI]        ; 在这里下个条件断点 ESI==0042CC3E, 可以看的很清楚
0042C516    01C2            ADD EDX,EAX
0042C518    C1C2 03         ROL EDX,3
00427949    31C2            XOR EDX,EAX
0042BC26    49              DEC ECX                       ; 116h->0
0042BC27    0F85 0A020000   JNZ TestDebu.0042BE37
0042BC2D    68 43C14200     PUSH TestDebu.0042C143        ; 循环出口, EDX = 227029ED, 计算的结果
0042B22F    8B00            MOV EAX,DWORD PTR DS:[EAX]    ; [0042AD88]=227029ED, 预先保留的结果
0042B231    29D0            SUB EAX,EDX
0042B26B   /0F84 8E0C0000   JE TestDebu.0042BEFF          ; 必须跳, 否则 Over
2012-3-20 17:12
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
收下谢了!
2012-3-20 22:49
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
16
文章排版有用.
还能语法高亮不?
2012-3-20 23:30
0
雪    币: 161
活跃值: (261)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感謝分享反彙編代碼工具.
2012-3-20 23:46
0
雪    币: 130
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
收下谢了!
2012-3-20 23:57
0
雪    币: 8858
活跃值: (3093)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
每次来都有收获
2012-3-21 08:08
0
雪    币: 2637
活跃值: (2138)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
这个工具很诱人
2012-3-24 11:36
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
21
奇怪,我 14 楼贴的那段很正常,反而不能转换 ?
2012-3-24 23:54
0
雪    币: 6131
活跃值: (984)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
好东西支持。
2012-3-25 19:38
0
游客
登录 | 注册 方可回帖
返回
//