一个韩国程序中OCX启动EXE
Posted in Crack on 2007/02/11 / 评论(0) »
我还以为他会用CreateProcess 不过在Ocx中不知道能否用这个创建子进程
主要是利用Ocx启动程序并且控制程序
工作需要我也需要用OCX控制EXE程序 如有朋友有这方面的经验告知一二多谢

100137D0      /$  6A FF              push    -1
100137D2      |.  68 F61F0410        push    10041FF6                               ;  SE 处理程序安装
100137D7      |.  64:A1 00000000     mov     eax, dword ptr fs:[0]
100137DD      |.  50                 push    eax
100137DE      |.  64:8925 00000000   mov     dword ptr fs:[0], esp
100137E5      |.  81EC D0000000      sub     esp, 0D0
100137EB      |.  53                 push    ebx
100137EC      |.  55                 push    ebp
100137ED      |.  8BE9               mov     ebp, ecx
100137EF      |.  56                 push    esi
100137F0      |.  68 8C350510        push    1005358C                               ;  ccupcam%d%c
100137F5      |.  8D4C24 14          lea     ecx, dword ptr [esp+14]
100137F9      |.  33DB               xor     ebx, ebx
100137FB      |.  E8 87DD0100        call    10031587
10013800      |.  68 7C350510        push    1005357C                               ; /mutex_ccup_tcp
10013805      |.  6A 01              push    1                                      ; |InitialOwner = TRUE
10013807      |.  53                 push    ebx                                    ; |pSecurity
10013808      |.  899C24 F0000000    mov     dword ptr [esp+F0], ebx                ; |
1001380F      |.  FF15 C8410410      call    dword ptr [<&KERNEL32.CreateMutexA>]   ; \CreateMutexA
10013815      |.  8BF0               mov     esi, eax
10013817      |.  FF15 C4410410      call    dword ptr [<&KERNEL32.GetLastError>]   ; [GetLastError
1001381D      |.  3D B7000000        cmp     eax, 0B7
10013822      |.  75 0E              jnz     short 10013832
10013824      |.  8B4424 10          mov     eax, dword ptr [esp+10]
10013828      |.  50                 push    eax                                    ; /Title
10013829      |.  53                 push    ebx                                    ; |Class
1001382A      |.  FF15 E0440410      call    dword ptr [<&USER32.FindWindowA>]      ; \FindWindowA
10013830      |.  8BD8               mov     ebx, eax
10013832      |>  56                 push    esi                                    ; /hObject
10013833      |.  FF15 98410410      call    dword ptr [<&KERNEL32.CloseHandle>]    ; \CloseHandle
10013839      |.  85DB               test    ebx, ebx
1001383B      |.  0F85 9F000000      jnz     100138E0
10013841      |.  8B0D E4370510      mov     ecx, dword ptr [100537E4]              ;  Ccuplst.100537F8
10013847      |.  57                 push    edi
10013848      |.  894C24 10          mov     dword ptr [esp+10], ecx
1001384C      |.  8D5424 18          lea     edx, dword ptr [esp+18]
10013850      |.  68 C8000000        push    0C8                                    ; /BufSize = C8 (200.)
10013855      |.  52                 push    edx                                    ; |Buffer
10013856      |.  C68424 F0000000 01 mov     byte ptr [esp+F0], 1                   ; |
1001385E      |.  FF15 BC410410      call    dword ptr [<&KERNEL32.GetSystemDirecto>; \GetSystemDirectoryA
10013864      |.  BF 58350510        mov     edi, 10053558                          ;  program files\ccupcam\ccupcam.exe
10013869      |.  83C9 FF            or      ecx, FFFFFFFF
1001386C      |.  33C0               xor     eax, eax
1001386E      |.  8D5424 1B          lea     edx, dword ptr [esp+1B]
10013872      |.  F2:AE              repne   scas byte ptr es:[edi]
10013874      |.  F7D1               not     ecx
10013876      |.  2BF9               sub     edi, ecx
10013878      |.  885C24 1B          mov     byte ptr [esp+1B], bl
1001387C      |.  8BC1               mov     eax, ecx
1001387E      |.  8BF7               mov     esi, edi
10013880      |.  8BFA               mov     edi, edx
10013882      |.  6A 01              push    1
10013884      |.  C1E9 02            shr     ecx, 2
10013887      |.  F3:A5              rep     movs dword ptr es:[edi], dword ptr [es>
10013889      |.  8BC8               mov     ecx, eax
1001388B      |.  8B85 D4050000      mov     eax, dword ptr [ebp+5D4]
10013891      |.  83E1 03            and     ecx, 3
10013894      |.  50                 push    eax
10013895      |.  F3:A4              rep     movs byte ptr es:[edi], byte ptr [esi]
10013897      |.  8B8D D0050000      mov     ecx, dword ptr [ebp+5D0]
1001389D      |.  6A 01              push    1
1001389F      |.  51                 push    ecx
100138A0      |.  8D4C24 28          lea     ecx, dword ptr [esp+28]
100138A4      |.  51                 push    ecx
100138A5      |.  8D5424 24          lea     edx, dword ptr [esp+24]
100138A9      |.  68 48350510        push    10053548                               ;  "%s" %s%c%s%c
100138AE      |.  52                 push    edx
100138AF      |.  E8 7FC70100        call    10030033
100138B4      |.  8B85 B8010000      mov     eax, dword ptr [ebp+1B8]
100138BA      |.  83C4 1C            add     esp, 1C
100138BD      |.  85C0               test    eax, eax
100138BF      |.  5F                 pop     edi
100138C0      |.  74 0D              je      short 100138CF
100138C2      |.  8B4424 0C          mov     eax, dword ptr [esp+C]
100138C6      |.  6A 01              push    1                                      ; /ShowState = SW_SHOWNORMAL
100138C8      |.  50                 push    eax                                    ; |CmdLine
100138C9      |.  FF15 C0410410      call    dword ptr [<&KERNEL32.WinExec>]        ; \WinExec
100138CF      |>  8D4C24 0C          lea     ecx, dword ptr [esp+C]
100138D3      |.  C68424 E4000000 00 mov     byte ptr [esp+E4], 0
100138DB      |.  E8 39DC0100        call    10031519
100138E0      |>  8D4C24 10          lea     ecx, dword ptr [esp+10]
100138E4      |.  C78424 E4000000 FF>mov     dword ptr [esp+E4], -1
100138EF      |.  E8 25DC0100        call    10031519
100138F4      |.  8B8C24 DC000000    mov     ecx, dword ptr [esp+DC]
100138FB      |.  5E                 pop     esi
100138FC      |.  8BC3               mov     eax, ebx
100138FE      |.  5D                 pop     ebp
100138FF      |.  5B                 pop     ebx
10013900      |.  64:890D 00000000   mov     dword ptr fs:[0], ecx
10013907      |.  81C4 DC000000      add     esp, 0DC
1001390D      \.  C3                 retn

DLL Injection Howto
Posted in Crack on 2007/02/10 / 评论(0) »


DLL Injection Howto


1. [/b]

Ollydbg 中断方法浅探
Posted in Crack on 2007/01/10 / 评论(0) »
转自:peidy
Ollydbg 中断方法浅探
                                  ――国庆节小礼

Ollydbg是一个新的32位的汇编层调试软件。适应于windows98、me、2000、xp和2003操作系统。由于他具有图形窗口界面,所以操作方便、直观,是cracker的好工具。
由于Ollydbg没有了TRW2000的万能断点,所以许多的新手感觉到用Ollydbg断点不好找。现在我来的说说Ollydbg下中断的几种方法。本人是个菜鸟,水平有限,可能不能完整的写出来,也可能存在错误。请大家指正。
我所表述的是Ollydbg v1.09d中文版,其他版本和英文版下自己参考。

第一 寻常断点
Ollydbg中一般下中断的方法,就是在程序的地址处用鼠标选择这一行。然后按F2键,这时被选择的那一行的地址会变成别的颜色,就表示这个地址处下了中断。然后运行程序时只有到这个地址处就会被Ollydbg中断。
这个方法用的比较多,所以把他称作寻常断点。
如果有命令行插件,就可以在命令窗口中输入BPX xxxxxxxx 下断点。
优点:只要自己怀疑是重要的代码处都可以下这种下断点,不受条件的限制,所以方便实用。
缺点:如果不知道代码功能下断点具有盲目性。
OD技巧
Posted in Crack on 2007/01/10 / 评论(0) »
转自PEDIY
之所以选择ollydbg
1.我的os是winXP,无法使用trw2000,而softice装了多次均未成功,还蓝屏死机多次.郁闷.
2.友好的gui界面,不像softice.可以边干活边听歌,不像softice,把整个os都挂起了.多用两次,连时间都不知道了.
3.强大的内存查看功能,再不用什么-d了,而且跳转方便,爽!一目了然.
4.强大的右键菜单功能

by draren
10.14

ollydbg的界面:
菜单:
文件:
1.其中包括该菜单的下部有上次打开的纪录,该纪录保存有上次未清除的断点.
2.附加.对付那些Anti-Debug程序.先运行程序,再运行od,文件-->附加.
查看:
1.执行模块(Alt+E),查看程序使用的动态链接库
2.查看断点.Alt+B
调试:
1.运行(F9)加载程序后,运行!
2.暂停(F12)
3.单步进入(F7)遇见CALL进入!进入该子程序.
4.单步跳过(F8)遇见CALL不进去!
5.执行到返回(ALT+F9)就是执行到该子程的返回语句

ollydbg的16进制编辑功能.类似与hiew,hex workshop
查看-->文件
转自:PEIDY
文者:FTBirthday
内容:举例说明在汇编语言中,"[]"的用法
"[]"的用法在"常见问题"已经有所说明,引用如下:

1、push dword ptr [024c1100] 压栈024c1100值的双字
2、cmp eax,[ebp+14] eax-ebp+14的有效值,不保留值,主要看标志位
3、cmp byte ptr [eax],46 字节型eax-46,看标志位
4、lea eax,[edx-02] 把edx-02的有效值(一个地址值)给eax
5、mov ecx,[edx+08] edx+8值作为地址,此地址所指向的值给ecx

我再补充几例我遇到的情况,参考了一些资料,以及我个人的理解.
-------------------------------------------------------------------------------
mov指令中用到"[]"
分页: 2/4 第一页 上页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]