Open i3jjnc68emm opened 6 years ago
Just tried the C# binding in ../bindings/csharp/ without modifying the code. It works fine but on unknown symbols it fails because the ResolveSymbol event is never raised.
I've used the example code and it cannot resolve '_j1'. Tested with x86 and x64 binaries from http://www.keystone-engine.org/download/
using(var keystone = new Keystone(KeystoneArchitecture.KS_ARCH_X86, KeystoneMode.KS_MODE_32, false)) { ulong address = 0; keystone.ResolveSymbol += (string s, ref ulong w) => { //never raised... if (s == "_j1") { w = 0x1234abcd; return true; } return false; }; KeystoneEncoded enc = keystone.Assemble("xor eax, eax; jmp _j1", address); }
Demonstration:
FYI this feature was introduced after the last official release of Keystone, which is why this does not work.
Just tried the C# binding in ../bindings/csharp/ without modifying the code. It works fine but on unknown symbols it fails because the ResolveSymbol event is never raised.
I've used the example code and it cannot resolve '_j1'. Tested with x86 and x64 binaries from http://www.keystone-engine.org/download/