真会走路的废柴 发表于 2012-8-3 18:06:01

求高手把这段代码转成C#


Func _RC4($Data, $Key)
        Local $Opcode = "0xC81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF888435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
        Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
        DllStructSetData($CodeBuffer, 1, $Opcode)
        If Not IsBinary($Data) Then $Data=StringToBinary($Data,1)
        Local $Buffer = DllStructCreate("byte[" & BinaryLen($Data) & "]")
        DllStructSetData($Buffer, 1, $Data)

        DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
                                                                                                        "ptr", DllStructGetPtr($Buffer), _
                                                                                                        "int", BinaryLen($Data), _
                                                                                                        "str", $Key, _
                                                                                                        "int", 0)

        Local $Ret = DllStructGetData($Buffer, 1)
        $Buffer = 0
        $CodeBuffer = 0
        Return $Ret
EndFunc

heimasoft 发表于 2012-8-3 18:23:36

C#的R4加密算法,百度一下,网上多的是呀

Windows8 发表于 2012-8-6 10:39:31

第一个是变量
第二个是API操作CallWindowProc,C#做法见http://baike.baidu.com/view/1080276.htm
第三部分还是增加变量
页: [1]
查看完整版本: 求高手把这段代码转成C#