老文章档案 · 2003 年

crackcode代码分享笔记(四)-依依惜别篇 (6千字)

网络学院 · 破解文章 · 2003-09-19 · 作者:豆豆虾 · 出处:赢政天下整理收藏

Go on..... 各位看官: (上一讲中提到的问题,不知道谁知道?能否赐教!谢了!)

:00401295 833D4CA6400000 cmp dword ptr [0040A64C], 00000000 -》40A64C的值看上一讲

:0040129C 7513 jne 004012B1 --》比较是否设定需要读取的寄存器;

如果设定了值,转向4012B1.否则继续。

:0040129E 56 push esi

:0040129F C60560974000BE mov byte ptr [00409760], BE

:004012A6 E8E3050000 call 0040188E

:004012AB 59 pop ecx

:004012AC A34CA64000 mov dword ptr [0040A64C], eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0040129C(C)

|

:004012B1 6824A54000 push 0040A524 --》指向被跟踪的程序名

:004012B6 E813000000 call 004012CE --》创建该程序进程

:004012BB 59 pop ecx

:004012BC 5F pop edi

:004012BD 5E pop esi

:004012BE 5D pop ebp

:004012BF 85C0 test eax, eax

:004012C1 5B pop ebx

:004012C2 7405 je 004012C9

:004012C4 E841000000 call 0040130A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:004012C2(C)

|

:004012C9 33C0 xor eax, eax

:004012CB C21000 ret 0010

下面看call 004012CE 子程序,前我们来研究一个API〔CreatProcess〕它的参数说明

可是一大摞。

BOOL CreateProcess(

LPCTSTR lpApplicationName,

// pointer to name of executable module

LPTSTR lpCommandLine, // pointer to command line string

LPSECURITY_ATTRIBUTES lpProcessAttributes, // process security attributes

LPSECURITY_ATTRIBUTES lpThreadAttributes, // thread security attributes

BOOL bInheritHandles, // handle inheritance flag

DWORD dwCreationFlags, // creation flags

LPVOID lpEnvironment, // pointer to new environment block

LPCTSTR lpCurrentDirectory, // pointer to current directory name

LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO

LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION

);

说明

创建一个新进程

返回值

Long,非零表示成功,零表示失败。会设置GetLastError

参数表

参数 类型及说明

lpApplicationName String,要执行的应用程序的名字。可设为vbNullString;在这种情况下,应用程序的名字应在lpCommandLine参数的起始处出现

lpCommandLine String,要执行的命令行。可用GetCommandLine函数取得一个进程使用的命令行。windows会尽可能地根据下述搜索顺序来查找执行文件:

(1)包含了父进程执行文件的目录

(2)父进程当前的目录

(3)由GetSystemDirectory返回的系统目录

(4)仅适于windows NT:16位系统目录

(5)由GetSystemDirectory返回的windows目录

(6)由PATH环境变量指定的目录

lpProcessAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值表示采用不允许继承的默认描述符。该参数定义进程的安全特性

lpThreadAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值表示采用不允许继承的默认描述符。该参数定义进程之主进程的安全特性

bInheritHandles Long,TRUE表示允许当前进程中的所有句柄都由新建的子进程继承

dwCreationFlags Long,来自API32.TXT文件的一个或多个下述常数之一,它们都带有前缀CREATE_。下面这些用于VB程序员:

CREATE_SEPARATE_WOW_VDM(仅适用于NT):启动一个16位的windows应用程序时,强迫它在自己的内存空间运行

CREATE_SHARED_WOW_VDM(仅适用于NT):启动一个16位的windows应用程序时,强迫它在共享的16位虚拟机内运行

CREATE_SUSPENDED:立即挂起新进程。除非调用ResumeThread函数。

IDLE_PRIORITY_CLASS:新进程应该有非常低的优先级,只有在系统空闲的时候才能运行。基本值是4

HIGH_PRIORITY_CLASS:新进程应该有非常高的优先级,基本值是13

NORMAL_PRIORITY_CLASS:标准优先级。如进程位于前台,则基本值是9;如在后台。则优先值是7

lpEnvironment 任何类型,指向一个环境块的指针

lpCurrentDriectory String,新进程的当前目录路径

lpStartupInfo STARTUPINFO,指定一个STARTUPINFO结构,其中包含了创建进程时使用的附加信息

lpProcessInformation PROCESS_INFORMATION,该结构用于容纳新进程的进程和线程标识。大多数情况下,一旦这个函数返回,父应用程序都会关闭两个句柄。

可怕吗??我好害怕怕哦!!呵呵~~~ 其实你使用起来,是非常的简单的 :)

因为许多的参数都可以用0来表示。

比如:

CreateProcess(0, serail.exe,0,0,FALSE,

CREATE_SUSPENDED, 0,0,&startupInfo, &ProcessInformation);

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

这个例子是不是挺可爱的。40多行的说明,用起来不过两行而已。在这里强调一下

有一部分的crack工具都使用这个程序哦!!比如 内存补丁程序,还有现在这个crackcode

还有新版的DEDE也用到。你说是不是值得去学习它呢???

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

=======================call 004012CE 子程序========================

* Referenced by a CALL at Address:

|:004012B6

|

:004012CE 55 push ebp

:004012CF 8BEC mov ebp, esp

:004012D1 83EC44 sub esp, 00000044

:004012D4 56 push esi

:004012D5 33F6 xor esi, esi

:004012D7 6A44 push 00000044

:004012D9 8D45BC lea eax, dword ptr [ebp-44]

:004012DC 56 push esi

:004012DD 50 push eax

:004012DE E86D080000 call 00401B50

:004012E3 83C40C add esp, 0000000C

:004012E6 8D45BC lea eax, dword ptr [ebp-44]

:004012E9 C745BC44000000 mov [ebp-44], 00000044

:004012F0 6810A44000 push 0040A410

:004012F5 50 push eax

:004012F6 56 push esi

:004012F7 56 push esi

:004012F8 6A02 push 00000002

:004012FA 56 push esi

:004012FB 56 push esi

:004012FC 56 push esi

:004012FD FF7508 push [ebp+08]

:00401300 56 push esi

* Reference To: KERNEL32.CreateProcessA, Ord:0000h

|

:00401301 FF1508504000 Call dword ptr [00405008]

:00401307 5E pop esi

:00401308 C9 leave

:00401309 C3 ret

=======================call 004012CE 子程序========================

估计大伙可能看到这会不会一头雾水呢??为了更好理解它。

建议:下载R!SC's Process Patcher 原代码进行研究。

大伙是不是觉得这样写下去,挺没有劲的!对吗?这个CRACK论坛不是中国最火的吗?

为什么没有人愿意解答我的问题??只是希望得到结果(突破25位的限制)!:(

好失望!!原以为先有付出,才会有收获,唉!! 我去了! 这是最后的一篇文章。

byebye 曾经给过我一些希望的两位[FCG]朋友。

相关资讯:

·彩虹狗破解工具的注册机

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)|

广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright (C) 1998-2004 winzheng.com All Rights Reserved.

特别感谢 蓝芒科技 提供下载站及论坛服务器

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史