您的位置:首页精文荟萃破解文章 → crackcode代码分享笔记(二) (5千字)

crackcode代码分享笔记(二) (5千字)

时间:2004/10/15 0:59:00来源:本站整理作者:蓝点我要评论(0)

 感谢你们看我的笔记,能够互相交流提高!谁能告诉我上一篇留下的问题吗??谢谢!!
接着上一回继续看代码。看代码之前我们先来认识一个API函数:
功能:获取INI文件中与指定关键字对应的参数(字符串性)并将此参数拷贝
到lpReturnedString中。

DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,        // points to section name
  LPCTSTR lpKeyName,        // points to key name
  LPCTSTR lpDefault,        // points to default string
  LPTSTR lpReturnedString,  // points to destination buffer
  DWORD nSize,              // size of destination buffer
  LPCTSTR lpFileName        // points to initialization filename
);

参  数
lpApplicationName  String 待寻找的关键字所在的段
lpKeyName          String  与参数相对应的关键字名
lpDefault          String 指定的关键字不存在时返回的缺省值
lpReturnedString  String  预先分配好的长度至少为nSize字节的字符串缓冲区
nSized            Integer 将要装入lpReturnedString缓冲区的最大字符数
lpFileName        String 初始化文件的名字

返回值  Integer 拷贝到lpReturnedString缓冲区的字符数


* Possible StringData Ref from Data Obj ->"Options"
                                  |
:00401049 BB30604000              mov ebx, 00406030
:0040104E 56                      push esi          //==> INI FILENAME
:0040104F 57                      push edi          //==>SIZE OF BUFFER

* Reference To: KERNEL32.GetPrivateProfileStringA, Ord:0000h
                                  |
:00401050 8B3D60504000            mov edi, dword ptr [00405060]
:00401056 6824A54000              push 0040A524    //==>POINT FOR BUFFER
:0040105B 55                      push ebp          //==>DEFAULT STRING

* Possible StringData Ref from Data Obj ->"CommandLine"
                                  |
:0040105C 68D0604000              push 004060D0        //==>KEY NAME    
:00401061 53                      push ebx          //==>SECTION NAME
:00401062 FFD7                    call edi          //==>GetPrivateProfileStringA
:00401064 56                      push esi
:00401065 6A02                    push 00000002
:00401067 6840A64000              push 0040A640
:0040106C 55                      push ebp

* Possible StringData Ref from Data Obj ->"Mode"
                                  |
:0040106D 685C624000              push 0040625C
:00401072 53                      push ebx
:00401073 FFD7                    call edi
:00401075 56                      push esi
:00401076 6A09                    push 00000009
:00401078 6888974000              push 00409788
:0040107D 55                      push ebp

* Possible StringData Ref from Data Obj ->"First_Break_Address"
                                  |
:0040107E 6848624000              push 00406248
:00401083 53                      push ebx
:00401084 FFD7                    call edi
:00401086 56                      push esi
:00401087 6A03                    push 00000003
:00401089 6884974000              push 00409784
:0040108E 55                      push ebp

* Possible StringData Ref from Data Obj ->"First_Break_Address_Code"
                                  |
:0040108F 682C624000              push 0040622C
:00401094 53                      push ebx
:00401095 FFD7                    call edi
:00401097 56                      push esi
:00401098 6A03                    push 00000003
:0040109A 6880974000              push 00409780
:0040109F 55                      push ebp

* Possible StringData Ref from Data Obj ->"First_Break_Address_Code_Lenth"
                                  |
:004010A0 680C624000              push 0040620C
:004010A5 53                      push ebx
:004010A6 FFD7                    call edi
:004010A8 56                      push esi
:004010A9 6A09                    push 00000009
:004010AB 6874974000              push 00409774
:004010B0 55                      push ebp

* Possible StringData Ref from Data Obj ->"Second_Break_Address"
                                  |
:004010B1 68F4614000              push 004061F4
:004010B6 53                      push ebx
:004010B7 FFD7                    call edi
:004010B9 56                      push esi
:004010BA 6A03                    push 00000003
:004010BC 6870974000              push 00409770
:004010C1 55                      push ebp

* Possible StringData Ref from Data Obj ->"Second_Break_Address_Code_Lenth"
                                  |
:004010C2 68D4614000              push 004061D4
:004010C7 53                      push ebx
:004010C8 FFD7                    call edi
:004010CA 56                      push esi
:004010CB BE64974000              mov esi, 00409764
:004010D0 6A09                    push 00000009
:004010D2 56                      push esi
:004010D3 55                      push ebp

* Possible StringData Ref from Data Obj ->"Save_Code_Address"
                                  |
:004010D4 68C0614000              push 004061C0
:004010D9 53                      push ebx
:004010DA FFD7                    call edi
:004010DC 6888974000              push 00409788

通过GetPrivateProfileStringA获得各个参数的值。也就是读出crackcode.ini的内容。
[Options]
CommandLine=winzip32.exe
Mode=2
First_Break_Address=407C1C
First_Break_Address_Code=BE
First_Break_Address_Code_Lenth=5
Second_Break_Address=457923
Second_Break_Address_Code_Lenth=2
Save_Code_Address=EDI

今天就到这里,就到这里。。。。。。               
    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程