首页
社区
课程
招聘
下面的代码调用参数怎幺写?高手请看
发表于: 2005-10-25 10:06 3930

下面的代码调用参数怎幺写?高手请看

2005-10-25 10:06
3930
各位高手,下面是用IDA反汇编出来的一段代码,请问在c语言里面怎面调用CheckLicenseKey?
.text:10002830
.text:10002830 ; Attributes: bp-based frame
.text:10002830
.text:10002830                 public CheckLicense
.text:10002830 CheckLicense    proc near
.text:10002830
.text:10002830 arg_0           = dword ptr  8
.text:10002830
.text:10002830                 push    ebp
.text:10002831                 mov     ebp, esp
.text:10002833                 push    0
.text:10002835                 mov     eax, [ebp+arg_0]
.text:10002838                 push    eax
.text:10002839                 call    CheckLicenseKey
.text:1000283E                 pop     ebp
.text:1000283F                 retn    4
.text:1000283F CheckLicense    endp
.text:1000283F

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
DWORD hModule = (DWORD)LoadLibrary("***.dll");
hModule += 0x2830;
__asm
{
   push ***        ;跟踪看一下参数是什么
   call hModule
}
2005-10-25 10:13
0
雪    币: 442
活跃值: (1246)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
3
就一个参数
2005-10-25 10:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
.text:10002850                 public CheckLicenseKey
.text:10002850 CheckLicenseKey proc near               ; CODE XREF: CheckLicense+9p
.text:10002850
.text:10002850 var_744         = dword ptr -744h
.text:10002850 var_740         = dword ptr -740h
.text:10002850 var_73C         = dword ptr -73Ch
.text:10002850 var_738         = dword ptr -738h
.text:10002850 var_734         = byte ptr -734h
.text:10002850 var_28          = dword ptr -28h
.text:10002850 var_24          = dword ptr -24h
.text:10002850 var_20          = dword ptr -20h
.text:10002850 var_1C          = dword ptr -1Ch
.text:10002850 var_18          = dword ptr -18h
.text:10002850 var_14          = dword ptr -14h
.text:10002850 var_10          = dword ptr -10h
.text:10002850 var_C           = dword ptr -0Ch
.text:10002850 var_4           = dword ptr -4
.text:10002850 arg_0           = dword ptr  8
.text:10002850 arg_4           = dword ptr  0Ch
.text:10002850
.text:10002850                 push    ebp
.text:10002851                 mov     ebp, esp
.text:10002853                 push    0FFFFFFFFh
.text:10002855                 push    offset loc_10006002
.text:1000285A                 mov     eax, large fs:0
.text:10002860                 push    eax
.text:10002861                 mov     large fs:0, esp
.text:10002868                 sub     esp, 738h
.text:1000286E                 push    edi
.text:1000286F                 call    sub_10005503
.text:10002874                 push    eax
.text:10002875                 lea     ecx, [ebp+var_1C]
.text:10002878                 call    MFC71_314
.text:1000287D                 mov     [ebp+var_4], 0
.text:10002884                 mov     [ebp+var_28], 1
.text:1000288B                 mov     al, ds:Default
.text:10002890                 mov     [ebp+var_734], al
.text:10002896                 mov     ecx, 1C0h
.text:1000289B                 xor     eax, eax
.text:1000289D                 lea     edi, [ebp-733h]
.text:100028A3                 rep stosd
.text:100028A5                 mov     ecx, 1C0h
.text:100028AA                 xor     eax, eax
.text:100028AC                 lea     edi, [ebp+var_734]
.text:100028B2                 rep stosd
.text:100028B4                 stosb
.text:100028B5                 push    0
.text:100028B7                 lea     ecx, [ebp+var_734]
.text:100028BD                 push    ecx
.text:100028BE                 mov     edx, [ebp+arg_0]
.text:100028C1                 push    edx
.text:100028C2                 call    CipherLicense
.text:100028C7                 mov     [ebp+var_14], 0
.text:100028CE                 lea     eax, [ebp+var_734]
.text:100028D4                 push    eax
.text:100028D5                 lea     ecx, [ebp+var_10]
.text:100028D8                 call    ds:MFC71_304
.text:100028DE                 mov     byte ptr [ebp+var_4], 1
.text:100028E2                 push    0
.text:100028E4                 push    offset aC       ; "C="
.text:100028E9                 lea     ecx, [ebp+var_10]
.text:100028EC                 call    ds:MFC71_2272
.text:100028F2                 mov     [ebp+var_20], eax
.text:100028F5                 cmp     [ebp+var_20], 0FFFFFFFFh
.text:100028F9                 jz      short loc_10002960
.text:100028FB                 mov     ecx, [ebp+var_20]
.text:100028FE                 add     ecx, 2
.text:10002901                 push    ecx
.text:10002902                 lea     edx, [ebp+var_73C]
.text:10002908                 push    edx
.text:10002909                 lea     ecx, [ebp+var_10]
.text:1000290C                 call    ds:MFC71_4108
.text:10002912                 mov     byte ptr [ebp+var_4], 2
.text:10002916                 lea     ecx, [ebp+var_73C]
.text:1000291C                 call    ds:MFC71_876
.text:10002922                 push    eax             ; char *
.text:10002923                 call    ds:atoi
.text:10002929                 add     esp, 4
.text:1000292C                 mov     [ebp+var_738], eax
.text:10002932                 lea     eax, [ebp+var_734]
.text:10002938                 push    eax
.text:10002939                 call    sub_100016F0
.text:1000293E                 add     esp, 4
.text:10002941                 cmp     [ebp+var_738], eax
.text:10002947                 jz      short loc_10002950
.text:10002949                 mov     [ebp+var_28], 0
.text:10002950
.text:10002950 loc_10002950:                           ; CODE XREF: CheckLicenseKey+F7j
.text:10002950                 mov     byte ptr [ebp+var_4], 1
.text:10002954                 lea     ecx, [ebp+var_73C]
.text:1000295A                 call    ds:MFC71_578
.text:10002960
.text:10002960 loc_10002960:                           ; CODE XREF: CheckLicenseKey+A9j
.text:10002960                 lea     ecx, [ebp+var_734]
.text:10002966                 push    ecx
.text:10002967                 lea     ecx, [ebp+var_10]
.text:1000296A                 call    ds:MFC71_784
.text:10002970                 cmp     [ebp+arg_4], 0
.text:10002974                 jnz     short loc_10002992
.text:10002976                 push    0
.text:10002978                 push    offset aPJvue   ; "P=jVue&"
.text:1000297D                 lea     ecx, [ebp+var_10]
.text:10002980                 call    ds:MFC71_2272
.text:10002986                 cmp     eax, 0FFFFFFFFh
.text:10002989                 jnz     short loc_10002992
.text:1000298B                 mov     [ebp+var_28], 0
.text:10002992
.text:10002992 loc_10002992:                           ; CODE XREF: CheckLicenseKey+124j
.text:10002992                                         ; CheckLicenseKey+139j
.text:10002992                 push    0
.text:10002994                 push    offset aT       ; "&T="
.text:10002999                 lea     ecx, [ebp+var_10]
.text:1000299C                 call    ds:MFC71_2272
.text:100029A2                 cmp     eax, 0FFFFFFFFh
.text:100029A5                 jnz     short loc_100029AE
.text:100029A7                 mov     [ebp+var_28], 0
.text:100029AE
.text:100029AE loc_100029AE:                           ; CODE XREF: CheckLicenseKey+155j
.text:100029AE                 push    0
.text:100029B0                 push    offset aN       ; "&N="
.text:100029B5                 lea     ecx, [ebp+var_10]
.text:100029B8                 call    ds:MFC71_2272
.text:100029BE                 cmp     eax, 0FFFFFFFFh
.text:100029C1                 jnz     short loc_100029CA
.text:100029C3                 mov     [ebp+var_28], 0
.text:100029CA
.text:100029CA loc_100029CA:                           ; CODE XREF: CheckLicenseKey+171j
.text:100029CA                 push    0
.text:100029CC                 push    offset aTo      ; "&TO="
.text:100029D1                 lea     ecx, [ebp+var_10]
.text:100029D4                 call    ds:MFC71_2272
.text:100029DA                 cmp     eax, 0FFFFFFFFh
.text:100029DD                 jnz     short loc_100029E6
.text:100029DF                 mov     [ebp+var_28], 0
.text:100029E6
.text:100029E6 loc_100029E6:                           ; CODE XREF: CheckLicenseKey+18Dj
.text:100029E6                 push    0
.text:100029E8                 push    offset aIp      ; "&IP="
.text:100029ED                 lea     ecx, [ebp+var_10]
.text:100029F0                 call    ds:MFC71_2272
.text:100029F6                 cmp     eax, 0FFFFFFFFh
.text:100029F9                 jnz     short loc_10002A02
.text:100029FB                 mov     [ebp+var_28], 0
.text:10002A02
.text:10002A02 loc_10002A02:                           ; CODE XREF: CheckLicenseKey+1A9j
.text:10002A02                 cmp     [ebp+arg_4], 0
.text:10002A06                 jnz     short loc_10002A24
.text:10002A08                 push    0
.text:10002A0A                 push    offset aV       ; "&V="
.text:10002A0F                 lea     ecx, [ebp+var_10]
.text:10002A12                 call    ds:MFC71_2272
.text:10002A18                 cmp     eax, 0FFFFFFFFh
.text:10002A1B                 jnz     short loc_10002A24
.text:10002A1D                 mov     [ebp+var_28], 0
.text:10002A24
.text:10002A24 loc_10002A24:                           ; CODE XREF: CheckLicenseKey+1B6j
.text:10002A24                                         ; CheckLicenseKey+1CBj
.text:10002A24                 lea     edx, [ebp+var_734]
.text:10002A2A                 push    edx
.text:10002A2B                 push    offset unk_1000714C
.text:10002A30                 mov     eax, [ebp+arg_0]
.text:10002A33                 push    eax
.text:10002A34                 call    GetLicenseKey
.text:10002A39                 lea     ecx, [ebp+var_734]
.text:10002A3F                 push    ecx
.text:10002A40                 lea     ecx, [ebp+var_24]
.text:10002A43                 call    ds:MFC71_304
.text:10002A49                 mov     byte ptr [ebp+var_4], 3
.text:10002A4D                 push    offset aConc    ; "CONC"
.text:10002A52                 lea     ecx, [ebp+var_24]
.text:10002A55                 call    ds:MFC71_1482
.text:10002A5B                 neg     eax
.text:10002A5D                 sbb     eax, eax
.text:10002A5F                 neg     eax
.text:10002A61                 movzx   edx, al
.text:10002A64                 test    edx, edx
.text:10002A66                 jz      short loc_10002ADB
.text:10002A68                 push    offset aToken   ; "TOKEN"
.text:10002A6D                 lea     ecx, [ebp+var_24]
.text:10002A70                 call    ds:MFC71_1482
.text:10002A76                 neg     eax
.text:10002A78                 sbb     eax, eax
.text:10002A7A                 neg     eax
.text:10002A7C                 movzx   eax, al
.text:10002A7F                 test    eax, eax
.text:10002A81                 jz      short loc_10002ADB
.text:10002A83                 push    offset aDemo    ; "DEMO"
.text:10002A88                 lea     ecx, [ebp+var_24]
.text:10002A8B                 call    ds:MFC71_1482
.text:10002A91                 neg     eax
.text:10002A93                 sbb     eax, eax
.text:10002A95                 neg     eax
.text:10002A97                 movzx   ecx, al
.text:10002A9A                 test    ecx, ecx
.text:10002A9C                 jz      short loc_10002ADB
.text:10002A9E                 push    offset aNone    ; "NONE"
.text:10002AA3                 lea     ecx, [ebp+var_24]
.text:10002AA6                 call    ds:MFC71_1482
.text:10002AAC                 neg     eax
.text:10002AAE                 sbb     eax, eax
.text:10002AB0                 neg     eax
.text:10002AB2                 movzx   edx, al
.text:10002AB5                 test    edx, edx
.text:10002AB7                 jz      short loc_10002ADB
.text:10002AB9                 push    offset aCpu     ; "CPU"
.text:10002ABE                 lea     ecx, [ebp+var_24]
.text:10002AC1                 call    ds:MFC71_1482
.text:10002AC7                 neg     eax
.text:10002AC9                 sbb     eax, eax
.text:10002ACB                 neg     eax
.text:10002ACD                 movzx   eax, al
.text:10002AD0                 test    eax, eax
.text:10002AD2                 jz      short loc_10002ADB
.text:10002AD4                 mov     [ebp+var_28], 0
.text:10002ADB
.text:10002ADB loc_10002ADB:                           ; CODE XREF: CheckLicenseKey+216j
.text:10002ADB                                         ; CheckLicenseKey+231j ...
.text:10002ADB                 lea     ecx, [ebp+var_734]
.text:10002AE1                 push    ecx
.text:10002AE2                 push    offset unk_10007148
.text:10002AE7                 mov     edx, [ebp+arg_0]
.text:10002AEA                 push    edx
.text:10002AEB                 call    GetLicenseKey
.text:10002AF0                 lea     eax, [ebp+var_734]
.text:10002AF6                 push    eax             ; char *
.text:10002AF7                 call    ds:atoi
.text:10002AFD                 add     esp, 4
.text:10002B00                 test    eax, eax
.text:10002B02                 jg      short loc_10002B0B
.text:10002B04                 mov     [ebp+var_28], 0
.text:10002B0B
.text:10002B0B loc_10002B0B:                           ; CODE XREF: CheckLicenseKey+2B2j
.text:10002B0B                 cmp     [ebp+arg_4], 0
.text:10002B0F                 jnz     loc_10002B9C
.text:10002B15                 lea     ecx, [ebp+var_734]
.text:10002B1B                 push    ecx
.text:10002B1C                 push    offset unk_1000713C
.text:10002B21                 mov     edx, [ebp+arg_0]
.text:10002B24                 push    edx
.text:10002B25                 call    GetLicenseKey
.text:10002B2A                 lea     eax, [ebp+var_734]
.text:10002B30                 push    eax
.text:10002B31                 lea     ecx, [ebp+var_740]
.text:10002B37                 call    ds:MFC71_304
.text:10002B3D                 mov     byte ptr [ebp+var_4], 4
.text:10002B41                 push    0
.text:10002B43                 push    offset asc_100071A0 ; "/"
.text:10002B48                 lea     ecx, [ebp+var_740]
.text:10002B4E                 call    ds:MFC71_2272
.text:10002B54                 mov     [ebp+var_14], eax
.text:10002B57                 cmp     [ebp+var_14], 4
.text:10002B5B                 jz      short loc_10002B64
.text:10002B5D                 mov     [ebp+var_28], 0
.text:10002B64
.text:10002B64 loc_10002B64:                           ; CODE XREF: CheckLicenseKey+30Bj
.text:10002B64                 mov     ecx, [ebp+var_14]
.text:10002B67                 add     ecx, 1
.text:10002B6A                 push    ecx
.text:10002B6B                 push    offset asc_100071A0 ; "/"
.text:10002B70                 lea     ecx, [ebp+var_740]
.text:10002B76                 call    ds:MFC71_2272
.text:10002B7C                 mov     [ebp+var_14], eax
.text:10002B7F                 cmp     [ebp+var_14], 7
.text:10002B83                 jz      short loc_10002B8C
.text:10002B85                 mov     [ebp+var_28], 0
.text:10002B8C
.text:10002B8C loc_10002B8C:                           ; CODE XREF: CheckLicenseKey+333j
.text:10002B8C                 mov     byte ptr [ebp+var_4], 3
.text:10002B90                 lea     ecx, [ebp+var_740]
.text:10002B96                 call    ds:MFC71_578
.text:10002B9C
.text:10002B9C loc_10002B9C:                           ; CODE XREF: CheckLicenseKey+2BFj
.text:10002B9C                 mov     edx, [ebp+var_28]
.text:10002B9F                 mov     [ebp+var_744], edx
.text:10002BA5                 mov     byte ptr [ebp+var_4], 1
.text:10002BA9                 lea     ecx, [ebp+var_24]
.text:10002BAC                 call    ds:MFC71_578
.text:10002BB2                 mov     byte ptr [ebp+var_4], 0
.text:10002BB6                 lea     ecx, [ebp+var_10]
.text:10002BB9                 call    ds:MFC71_578
.text:10002BBF                 mov     [ebp+var_4], 0FFFFFFFFh
.text:10002BC6                 mov     eax, [ebp+var_18]
.text:10002BC9                 mov     ecx, [ebp+var_1C]
.text:10002BCC                 mov     [eax+4], ecx
.text:10002BCF                 mov     eax, [ebp+var_744]
.text:10002BD5                 mov     ecx, [ebp+var_C]
.text:10002BD8                 mov     large fs:0, ecx
.text:10002BDF                 pop     edi
.text:10002BE0                 mov     esp, ebp
.text:10002BE2                 pop     ebp
.text:10002BE3                 retn    8
.text:10002BE3 CheckLicenseKey endp
2005-10-25 10:54
0
游客
登录 | 注册 方可回帖
返回